aboutsummaryrefslogtreecommitdiff
path: root/shared/fs/afs/types/attributes.zig
blob: 45095a82c57031db1f84e395719b6ed08ab59bca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//! AFS Attribute Types

const constants = @import("../constants/constants.zig");
const volume = @import("volume.zig");

const ChannelInfo = volume.ChannelInfo;

pub const AttributeKey = extern struct {
    key_length: u16 = 0,
    padding: u16 = 0,
    node_id: u32 = 0,
    start_cell: u32 = 0,
    attribute_identity_length: u16 = 0,
    attribute_identity: [128]u16 = [_]u16{0} ** 128,
};

pub const AttributeInlineRecord = extern struct {
    record_type: u32 = 0,
    reserved: [4]u8 = [_]u8{0} ** 4,
    data_size: u32 = 0,
    data: [constants.sizes.attribute_inline_data_max]u8 = [_]u8{0} ** constants.sizes.attribute_inline_data_max,
};

pub const AttributeChannelRecord = extern struct {
    record_type: u32 = 0,
    reserved: u32 = 0,
    channel: ChannelInfo = .{},
};