< prev index next > src/java.base/share/native/libjimage/imageFile.hpp
Print this page
/*
! * Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
/*
! * Copyright (c) 2015, 2025, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
inline const char* get_attribute(u4 kind, const ImageStrings& strings) const {
return strings.get((u4)get_attribute(kind));
}
};
- //
- // Manage the image module meta data.
- class ImageModuleData {
- const ImageFileReader* _image_file; // Source image file
- Endian* _endian; // Endian handler
-
- public:
- ImageModuleData(const ImageFileReader* image_file);
- ~ImageModuleData();
-
- // Return the module in which a package resides. Returns NULL if not found.
- const char* package_to_module(const char* package_name);
- };
-
// Image file header, starting at offset 0.
class ImageHeader {
private:
u4 _magic; // Image file marker
u4 _version; // Image file major version number
u1* _index_data; // Raw index data
s4* _redirect_table; // Perfect hash redirect table
u4* _offsets_table; // Location offset table
u1* _location_bytes; // Location attributes
u1* _string_bytes; // String table
- ImageModuleData *_module_data; // The ImageModuleData for this image
ImageFileReader(const char* name, bool big_endian);
~ImageFileReader();
// Compute number of bytes in image file index.
// Return the resource for the supplied location index.
void get_resource(u4 index, u1* uncompressed_data) const;
// Return the resource for the supplied path.
void get_resource(ImageLocation& location, u1* uncompressed_data) const;
-
- // Return the ImageModuleData for this image
- ImageModuleData * get_image_module_data();
-
};
#endif // LIBJIMAGE_IMAGEFILE_HPP
< prev index next >