Zig 0.17.0-dev (Split by item) This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig standard library.
std › dynamic_library › ElfDynLib › GnuHashSection64 Public Struct GnuHashSection64 Doc Source Public Struct std.dynamic_library.ElfDynLib.GnuHashSection64
pub const GnuHashSection64 = struct Fields symoffset : u32 bloom_shift : u32 bloom : []u64 buckets : []u32 chain : [*]elf .gnu_hash .ChainEntry Functions pub fn fromPtr (header : *elf .gnu_hash .Header ) @This () File dynamic_library.zig: 405
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430 pub const GnuHashSection64 = struct {
symoffset : u32 ,
bloom_shift : u32 ,
bloom : []u64 ,
buckets : []u32 ,
chain : [*]elf .gnu_hash .ChainEntry ,
pub fn fromPtr (header : *elf .gnu_hash .Header ) @This () {
const header_offset = @intFromPtr (header );
const bloom_offset = header_offset + @sizeOf (elf .gnu_hash .Header );
const buckets_offset = bloom_offset + header .bloom_size * @sizeOf (u64 );
const chain_offset = buckets_offset + header .nbuckets * @sizeOf (u32 );
const bloom_ptr : [*]u64 = @ptrFromInt (bloom_offset );
const buckets_ptr : [*]u32 = @ptrFromInt (buckets_offset );
const chain_ptr : [*]elf .gnu_hash .ChainEntry = @ptrFromInt (chain_offset );
return .{
.symoffset = header .symoffset ,
.bloom_shift = header .bloom_shift ,
.bloom = bloom_ptr [0 ..header .bloom_size ],
.buckets = buckets_ptr [0 ..header .nbuckets ],
.chain = chain_ptr ,
};
}
}