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