Function map_create [src]

Prototype

pub fn map_create(map_type: MapType, key_size: u32, value_size: u32, max_entries: u32) !fd_t

Parameters

map_type: MapTypekey_size: u32value_size: u32max_entries: u32

Source

pub fn map_create(map_type: MapType, key_size: u32, value_size: u32, max_entries: u32) !fd_t { var attr = Attr{ .map_create = std.mem.zeroes(MapCreateAttr), }; attr.map_create.map_type = @intFromEnum(map_type); attr.map_create.key_size = key_size; attr.map_create.value_size = value_size; attr.map_create.max_entries = max_entries; const rc = linux.bpf(.map_create, &attr, @sizeOf(MapCreateAttr)); switch (errno(rc)) { .SUCCESS => return @as(fd_t, @intCast(rc)), .INVAL => return error.MapTypeOrAttrInvalid, .NOMEM => return error.SystemResources, .PERM => return error.PermissionDenied, else => |err| return unexpectedErrno(err), } }