xref: /xnu-11215.61.5/tools/lldbmacros/mbufdefines.py (revision 4f1223e81cd707a65cc109d0b8ad6653699da3c4)
1*4f1223e8SApple OSS Distributionsfrom xnu import *
2*4f1223e8SApple OSS Distributionsfrom utils import *
3*4f1223e8SApple OSS Distributionsimport ctypes
4*4f1223e8SApple OSS Distributions
5*4f1223e8SApple OSS DistributionsMBSHIFT = 20
6*4f1223e8SApple OSS DistributionsMSIZE = 256
7*4f1223e8SApple OSS DistributionsMCLBYTES = 2048
8*4f1223e8SApple OSS DistributionsMBIGCLBYTES = 4096
9*4f1223e8SApple OSS DistributionsM16KCLBYTES = 16384
10*4f1223e8SApple OSS Distributions
11*4f1223e8SApple OSS DistributionsMB_INUSE = 1
12*4f1223e8SApple OSS DistributionsMB_COMP_INUSE = 2
13*4f1223e8SApple OSS DistributionsMB_SCVALID = 4
14*4f1223e8SApple OSS Distributions
15*4f1223e8SApple OSS DistributionsSLF_MAPPED = 0x0001
16*4f1223e8SApple OSS DistributionsSLF_PARTIAL = 0x0002
17*4f1223e8SApple OSS DistributionsSLF_DETACHED = 0x0004
18*4f1223e8SApple OSS Distributions
19*4f1223e8SApple OSS DistributionsINTP = ctypes.POINTER(ctypes.c_int)
20*4f1223e8SApple OSS Distributions
21*4f1223e8SApple OSS DistributionsMCF_NOCPUCACHE = 0x10
22*4f1223e8SApple OSS Distributions
23*4f1223e8SApple OSS Distributionsdef enum(*sequential, **named):
24*4f1223e8SApple OSS Distributions    enums = dict(zip(sequential, range(len(sequential))), **named)
25*4f1223e8SApple OSS Distributions    reverse = dict((value, key) for key, value in enums.items())
26*4f1223e8SApple OSS Distributions    enums['reverse_mapping'] = reverse
27*4f1223e8SApple OSS Distributions    return type('Enum', (), enums)
28*4f1223e8SApple OSS Distributions
29*4f1223e8SApple OSS DistributionsMbuf_Type = enum(
30*4f1223e8SApple OSS Distributions    'MT_FREE',
31*4f1223e8SApple OSS Distributions    'MT_DATA',
32*4f1223e8SApple OSS Distributions    'MT_HEADER',
33*4f1223e8SApple OSS Distributions    'MT_SOCKET',
34*4f1223e8SApple OSS Distributions    'MT_PCB',
35*4f1223e8SApple OSS Distributions    'MT_RTABLE',
36*4f1223e8SApple OSS Distributions    'MT_HTABLE',
37*4f1223e8SApple OSS Distributions    'MT_ATABLE',
38*4f1223e8SApple OSS Distributions    'MT_SONAME',
39*4f1223e8SApple OSS Distributions    'MT_SOOPTS',
40*4f1223e8SApple OSS Distributions    'MT_FTABLE',
41*4f1223e8SApple OSS Distributions    'MT_RIGHTS',
42*4f1223e8SApple OSS Distributions    'MT_IFADDR',
43*4f1223e8SApple OSS Distributions    'MT_CONTROL',
44*4f1223e8SApple OSS Distributions    'MT_OOBDATA',
45*4f1223e8SApple OSS Distributions    'MT_TAG',
46*4f1223e8SApple OSS Distributions    'MT_LAST')
47*4f1223e8SApple OSS Distributions
48*4f1223e8SApple OSS DistributionsM_EXT           = 0x0001
49*4f1223e8SApple OSS DistributionsM_PKTHDR        = 0x0002
50*4f1223e8SApple OSS DistributionsM_EOR           = 0x0004
51*4f1223e8SApple OSS DistributionsM_PROTO1        = 0x0008
52*4f1223e8SApple OSS DistributionsM_PROTO2        = 0x0010
53*4f1223e8SApple OSS DistributionsM_PROTO3        = 0x0020
54*4f1223e8SApple OSS DistributionsM_LOOP          = 0x0040
55*4f1223e8SApple OSS DistributionsM_PROTO5        = 0x0080
56*4f1223e8SApple OSS Distributions
57*4f1223e8SApple OSS DistributionsM_BCAST         = 0x0100
58*4f1223e8SApple OSS DistributionsM_MCAST         = 0x0200
59*4f1223e8SApple OSS DistributionsM_FRAG          = 0x0400
60*4f1223e8SApple OSS DistributionsM_FIRSTFRAG     = 0x0800
61*4f1223e8SApple OSS DistributionsM_LASTFRAG      = 0x1000
62*4f1223e8SApple OSS DistributionsM_PROMISC       = 0x2000
63*4f1223e8SApple OSS DistributionsM_HASFCS        = 0x4000
64*4f1223e8SApple OSS DistributionsM_TAGHDR        = 0x8000
65*4f1223e8SApple OSS Distributions
66*4f1223e8SApple OSS Distributionsmbuf_flags_strings = [
67*4f1223e8SApple OSS Distributions    "EXT",
68*4f1223e8SApple OSS Distributions    "PKTHDR",
69*4f1223e8SApple OSS Distributions    "EOR",
70*4f1223e8SApple OSS Distributions    "PROTO1",
71*4f1223e8SApple OSS Distributions    "PROTO2",
72*4f1223e8SApple OSS Distributions    "PROTO3",
73*4f1223e8SApple OSS Distributions    "LOOP",
74*4f1223e8SApple OSS Distributions    "PROTO5",
75*4f1223e8SApple OSS Distributions
76*4f1223e8SApple OSS Distributions    "BCAST",
77*4f1223e8SApple OSS Distributions    "MCAST",
78*4f1223e8SApple OSS Distributions    "FRAG",
79*4f1223e8SApple OSS Distributions    "FIRSTFRAG",
80*4f1223e8SApple OSS Distributions    "LASTFRAG",
81*4f1223e8SApple OSS Distributions    "PROMISC",
82*4f1223e8SApple OSS Distributions    "HASFCS",
83*4f1223e8SApple OSS Distributions    "TAGHDR"]
84*4f1223e8SApple OSS Distributions
85*4f1223e8SApple OSS Distributionsmbuf_pkt_crumb_strings = [
86*4f1223e8SApple OSS Distributions    "TS_COMP_REQ",
87*4f1223e8SApple OSS Distributions    "TS_COMP_CB",
88*4f1223e8SApple OSS Distributions    "DLIL_OUTPUT",
89*4f1223e8SApple OSS Distributions    "FLOW_TX",
90*4f1223e8SApple OSS Distributions    "FQ_ENQUEUE",
91*4f1223e8SApple OSS Distributions    "FQ_DEQUEUE",
92*4f1223e8SApple OSS Distributions    "SK_PKT_COPY",
93*4f1223e8SApple OSS Distributions    "TCP_OUTPUT",
94*4f1223e8SApple OSS Distributions    "UDP_OUTPUT",
95*4f1223e8SApple OSS Distributions    "SOSEND",
96*4f1223e8SApple OSS Distributions    "DLIL_INPUT",
97*4f1223e8SApple OSS Distributions    "IP_INPUT",
98*4f1223e8SApple OSS Distributions    "TCP_INPUT",
99*4f1223e8SApple OSS Distributions    "UDP_INPUT"]
100