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