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