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