MCPcopy Index your code
hub / github.com/cilium/ebpf / newStructOpsMemberLayout

Function newStructOpsMemberLayout

struct_ops.go:27–48  ·  view source on GitHub ↗

newStructOpsMemberLayout returns a layout information from a struct_ops member.

(m btf.Member)

Source from the content-addressed store, hash-verified

25
26// newStructOpsMemberLayout returns a layout information from a struct_ops member.
27func newStructOpsMemberLayout(m btf.Member) (*structOpsMemberLayout, error) {
28 if m.BitfieldSize > 0 {
29 return nil, fmt.Errorf("bitfield %s not supported", m.Name)
30 }
31
32 size, err := btf.Sizeof(m.Type)
33 if err != nil {
34 return nil, fmt.Errorf("sizeof(%s): %w", m.Name, err)
35 }
36
37 off := int(m.Offset.Bytes())
38 if off < 0 {
39 return nil, fmt.Errorf("member %q: invalid offset", m.Name)
40 }
41
42 return &structOpsMemberLayout{
43 member: m,
44 off: off,
45 size: size,
46 typ: btf.UnderlyingType(m.Type),
47 }, nil
48}
49
50// bytes returns the portion of `buf` corresponding to the member.
51func (ml *structOpsMemberLayout) bytes(buf []byte) ([]byte, error) {

Callers 3

structOpsPopulateValueFunction · 0.85
structOpsCopyMemberBytesFunction · 0.85

Calls 3

SizeofFunction · 0.92
UnderlyingTypeFunction · 0.92
BytesMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…