Jump to content
Biatu

Various Structs in AutoIt?

Recommended Posts

Biatu

Does anyone know how to implement these structs in AutoIt?
 

struct wim_reshdr {
	u64 size_in_wim : 56;
	u64 flags : 8;
	u64 offset_in_wim;
	u64 uncompressed_size;
};

#define WIM_MAGIC				\
		(((u64)'M'  <<  0) |		\
		 ((u64)'S'  <<  8) |		\
		 ((u64)'W'  << 16) |		\
		 ((u64)'I'  << 24) |		\
		 ((u64)'M'  << 32) |		\
		 ((u64)'\0' << 40) |		\
		 ((u64)'\0' << 48) |		\
		 ((u64)'\0' << 54))

struct wim_header_disk {
	le64 magic;
	le32 hdr_size;
	le32 wim_version;
	le32 wim_flags;
	le32 chunk_size;
	u8 guid[GUID_SIZE];
	le16 part_number;
	le16 total_parts;
	le32 image_count;
	struct wim_reshdr_disk blob_table_reshdr;	   < Double Struct?
	struct wim_reshdr_disk xml_data_reshdr; 	   < Double Struct?
	struct wim_reshdr_disk boot_metadata_reshdr;   < Double Struct?
	le32 boot_idx;
	struct wim_reshdr_disk integrity_table_reshdr; < Double Struct?
	u8 unused[60];
} _packed_attribute;

I understand LE/U 8/16/32/64, but not these:

 

u64 size_in_wim : 56;
struct wim_reshdr_disk blob_table_reshdr;
((u64)'\0' << 54))

 

 

Thanks


What is what? What is what.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×