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