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 › GnuHashSection32 Public Struct GnuHashSection32 Doc Source Public Struct std.dynamic_library.ElfDynLib.GnuHashSection32
pub const GnuHashSection32 = struct Fields symoffset : u32 bloom_shift : u32 bloom : []u32 buckets : []u32 chain : [*]elf .gnu_hash .ChainEntry Functions pub fn fromPtr (header : *elf .gnu_hash .Header ) @This () File dynamic_library.zig: 378
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403 pub const GnuHashSection32 = struct {
symoffset : u32 ,
bloom_shift : u32 ,
bloom : []u32 ,
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 (u32 );
const chain_offset = buckets_offset + header .nbuckets * @sizeOf (u32 );
const bloom_ptr : [*]u32 = @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 ,
};
}
}