laforge submitted this change.

View Change



4 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.

Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved; Verified fixeria: Looks good to me, but someone else must approve
port over ctypeslib2

After many years without ctypeslib maintenance, there's finally a
ctypeslib2 for python3.x

Instead of the crude gcc2xml hack it uses libclang to generate python
directly from the C.

Change-Id: I9efd56623ebeabef4317356a05484a620a3a91cc
---
M gsm_call_fsm.py
M mncc.h
M mncc.py
M mncc_sock.py
M regen-mncc-py.sh
5 files changed, 634 insertions(+), 1,726 deletions(-)

diff --git a/gsm_call_fsm.py b/gsm_call_fsm.py
index 9e2b633..3657a1a 100644
--- a/gsm_call_fsm.py
+++ b/gsm_call_fsm.py
@@ -18,7 +18,7 @@
from fysom import Fysom
from mncc_sock import mncc_msg, mncc_number, mncc_rtp_msg, mncc_bridge_msg, mncc_bearer_cap

-Uint32Array2 = mncc.uint32_t * 2
+Uint32Array2 = ctypes.c_uint32 * 2

class GSM48:
class BCAP_SV(object):
diff --git a/mncc.h b/mncc.h
index 230afbd..394399f 100644
--- a/mncc.h
+++ b/mncc.h
@@ -127,7 +127,7 @@
int radio; /* Radio Channel Requirement */
int speech_ctm; /* CTM text telephony indication */
int speech_ver[8]; /* Speech version indication */
- struct {
+ struct gsm_mncc_bearer_cap_data {
enum gsm48_bcap_ra rate_adaption;
enum gsm48_bcap_sig_access sig_access;
int async;
@@ -185,7 +185,7 @@
int pcp;
};

-enum {
+enum gsm_mncc_bcap {
GSM_MNCC_BCAP_SPEECH = 0,
GSM_MNCC_BCAP_UNR_DIG = 1,
GSM_MNCC_BCAP_AUDIO = 2,
@@ -292,7 +292,7 @@
struct gsm_mncc_facility facility;
struct gsm_mncc_cccap cccap;
struct gsm_mncc_ssversion ssversion;
- struct {
+ struct gsm_mncc_clir {
int sup;
int inv;
} clir;
diff --git a/mncc.py b/mncc.py
index 6a30eaa..e22fb74 100644
--- a/mncc.py
+++ b/mncc.py
@@ -1,1729 +1,654 @@
-from ctypes import *
-
-STRING = c_char_p
+# -*- coding: utf-8 -*-
+#
+# TARGET arch is: []
+# WORD_SIZE is: 8
+# POINTER_SIZE is: 8
+# LONGDOUBLE_SIZE is: 16
+#
+import ctypes


-GSM48_BCAP_SV_AMR_OHW = 7
-SOCK_STREAM = 1
-GSM48_BCAP_UR_12000 = 6
-GSM_MNCC_BCAP_RESERVED = 7
-GSM_MNCC_BCAP_FAX_G3 = 3
-GSM48_BCAP_MT_V22bis = 3
-IPPORT_SUPDUP = 95
-IPPORT_TTYLINK = 87
-IPPORT_FINGER = 79
-IPPORT_RJE = 77
-IPPORT_TIMESERVER = 37
-GSM48_BCAP_SA_I440_I450 = 1
-IPPORT_EXECSERVER = 512
-IPPORT_LOGINSERVER = 513
-GSM48_BCAP_UR_2400 = 3
-IPPORT_EFSSERVER = 520
-IPPORT_DISCARD = 9
-GSM48_BCAP_IR_8k = 2
-IPPROTO_DCCP = 33
-MSG_WAITALL = 256
-GSM48_BCAP_ITCAP_UNR_DIG_INF = 1
-IPPORT_NAMESERVER = 42
-SOCK_DCCP = 6
-GSM_MNCC_BCAP_UNR_DIG = 1
-GSM48_BCAP_MT_V22 = 2
-IPPORT_DAYTIME = 13
-GSM48_BCAP_RRQ_DUAL_HR = 2
-GSM48_BCAP_RRQ_DUAL_FR = 3
-GSM48_BCAP_SV_AMR_OH = 11
-IPPROTO_MH = 135
-GSM48_BCAP_UR_300 = 1
-GSM48_BCAP_MT_V32 = 6
-IPPROTO_PIM = 103
-MSG_MORE = 32768
-IPPROTO_COMP = 108
-IPPROTO_ICMPV6 = 58
-GSM48_BCAP_MT_V21 = 1
-GSM48_BCAP_MT_V23 = 4
-SCM_RIGHTS = 1
-IPPORT_MTP = 57
-IPPROTO_BEETPH = 94
-MSG_DONTWAIT = 64
-IPPROTO_ROUTING = 43
-IPPORT_WHOIS = 43
-MSG_CONFIRM = 2048
-GSM48_BCAP_TMOD_CIRCUIT = 0
-IPPROTO_MTP = 92
-IPPORT_RESERVED = 1024
-GSM48_BCAP_RA_NONE = 0
-IPPORT_CMDSERVER = 514
-IPPROTO_MPLS = 137
-IPPORT_TELNET = 23
-GSM48_BCAP_MT_V26ter = 5
-MSG_WAITFORONE = 65536
-SHUT_RD = 0
-MSG_FIN = 512
-MSG_NOSIGNAL = 16384
-GSM48_BCAP_MT_AUTO_1 = 8
-IPPROTO_MAX = 263
-GSM48_BCAP_MT_UNDEF = 7
-IPPROTO_MPTCP = 262
-GSM48_BCAP_SV_AMR_FW = 8
-IPPORT_FTP = 21
-GSM48_BCAP_SV_HR = 1
-GSM48_BCAP_PAR_ONE = 5
-IPPROTO_ETHERNET = 143
-GSM48_BCAP_PAR_NONE = 3
-GSM48_BCAP_PAR_ODD = 0
-SOCK_NONBLOCK = 2048
-SOCK_CLOEXEC = 524288
-SOCK_PACKET = 10
-GSM48_BCAP_SV_EFR = 2
-GSM48_BCAP_MT_NONE = 0
-GSM48_BCAP_CODING_GSM_STD = 0
-MSG_BATCH = 262144
-SOCK_SEQPACKET = 5
-SOCK_RDM = 4
-SOCK_RAW = 3
-SOCK_DGRAM = 2
-MSG_ZEROCOPY = 67108864
-IPPORT_ECHO = 7
-IPPORT_BIFFUDP = 512
-GSM48_BCAP_ITCAP_FAX_G3 = 3
-IPPROTO_GRE = 47
-GSM48_BCAP_ITCAP_3k1_AUDIO = 2
-MSG_CTRUNC = 8
-MSG_FASTOPEN = 536870912
-GSM48_BCAP_SV_FR = 0
-IPPORT_WHOSERVER = 513
-IPPROTO_UDPLITE = 136
-GSM48_BCAP_RRQ_FR_ONLY = 1
-MSG_SYN = 1024
-IPPROTO_UDP = 17
-IPPROTO_RAW = 255
-GSM48_BCAP_ITCAP_SPEECH = 0
-GSM48_BCAP_SV_AMR_F = 4
-IPPORT_ROUTESERVER = 520
-GSM48_BCAP_SA_X21 = 2
-GSM48_BCAP_SA_X28_DP_UN = 4
-MSG_RST = 4096
-GSM48_BCAP_IR_16k = 3
-GSM48_BCAP_RA_X31 = 2
-MSG_PEEK = 2
-IPPORT_USERRESERVED = 5000
-MSG_TRYHARD = 4
-GSM48_BCAP_UR_1200_75 = 7
-MSG_CMSG_CLOEXEC = 1073741824
-GSM48_BCAP_SV_AMR_H = 5
-IPPROTO_ENCAP = 98
-IPPORT_SYSTAT = 11
-GSM48_BCAP_UR_9600 = 5
-GSM48_BCAP_RA_V110_X30 = 1
-GSM48_BCAP_UR_4800 = 4
-IPPORT_NETSTAT = 15
-GSM48_BCAP_PAR_ZERO = 4
-GSM48_BCAP_UR_1200 = 2
-IPPORT_SMTP = 25
-IPPROTO_IP = 0
-IPPROTO_EGP = 8
-IPPROTO_DSTOPTS = 60
-GSM_MNCC_BCAP_SPEECH = 0
-IPPROTO_NONE = 59
-IPPROTO_FRAGMENT = 44
-MSG_EOR = 128
-IPPROTO_HOPOPTS = 0
-GSM48_BCAP_PAR_EVEN = 2
-GSM_MNCC_BCAP_AUDIO = 2
-IPPROTO_IPV6 = 41
-GSM48_BCAP_SV_AMR_OFW = 6
-GSM48_BCAP_SA_X28_DP_IN = 3
-IPPROTO_AH = 51
-IPPROTO_ESP = 50
-IPPROTO_RSVP = 46
-MSG_TRUNC = 32
-MSG_PROXY = 16
-IPPROTO_PUP = 12
-MSG_DONTROUTE = 4
-GSM48_BCAP_TR_RLP_PREF = 3
-GSM48_BCAP_TR_RLP = 1
-IPPROTO_IPIP = 4
-MSG_OOB = 1
-GSM48_BCAP_SA_X32 = 6
-IPPROTO_IGMP = 2
-IPPROTO_ICMP = 1
-SHUT_RDWR = 2
-IPPROTO_SCTP = 132
-SHUT_WR = 1
-GSM48_BCAP_TR_TR_PREF = 2
-GSM48_BCAP_RA_OTHER = 3
-GSM48_BCAP_TMOD_PACKET = 1
-GSM48_BCAP_ITCAP_RESERVED = 7
-IPPROTO_TP = 29
-MSG_ERRQUEUE = 8192
-SCM_CREDENTIALS = 2
-GSM48_BCAP_SA_X28_NDP = 5
-GSM48_BCAP_TR_TRANSP = 0
-IPPROTO_IDP = 22
-GSM_MNCC_BCAP_OTHER_ITC = 5
-GSM48_BCAP_ITCAP_OTHER = 5
-IPPROTO_TCP = 6
-IPPORT_TFTP = 69
+class AsDictMixin:
+ @classmethod
+ def as_dict(cls, self):
+ result = {}
+ if not isinstance(self, AsDictMixin):
+ # not a structure, assume it's already a python object
+ return self
+ if not hasattr(cls, "_fields_"):
+ return result
+ # sys.version_info >= (3, 5)
+ # for (field, *_) in cls._fields_: # noqa
+ for field_tuple in cls._fields_: # noqa
+ field = field_tuple[0]
+ if field.startswith('PADDING_'):
+ continue
+ value = getattr(self, field)
+ type_ = type(value)
+ if hasattr(value, "_length_") and hasattr(value, "_type_"):
+ # array
+ if not hasattr(type_, "as_dict"):
+ value = [v for v in value]
+ else:
+ type_ = type_._type_
+ value = [type_.as_dict(v) for v in value]
+ elif hasattr(value, "contents") and hasattr(value, "_type_"):
+ # pointer
+ try:
+ if not hasattr(type_, "as_dict"):
+ value = value.contents
+ else:
+ type_ = type_._type_
+ value = type_.as_dict(value.contents)
+ except ValueError:
+ # nullptr
+ value = None
+ elif isinstance(value, AsDictMixin):
+ # other structure
+ value = type_.as_dict(value)
+ result[field] = value
+ return result
+
+
+class Structure(ctypes.Structure, AsDictMixin):
+
+ def __init__(self, *args, **kwds):
+ # We don't want to use positional arguments fill PADDING_* fields
+
+ args = dict(zip(self.__class__._field_names_(), args))
+ args.update(kwds)
+ super(Structure, self).__init__(**args)
+
+ @classmethod
+ def _field_names_(cls):
+ if hasattr(cls, '_fields_'):
+ return (f[0] for f in cls._fields_ if not f[0].startswith('PADDING'))
+ else:
+ return ()
+
+ @classmethod
+ def get_type(cls, field):
+ for f in cls._fields_:
+ if f[0] == field:
+ return f[1]
+ return None
+
+ @classmethod
+ def bind(cls, bound_fields):
+ fields = {}
+ for name, type_ in cls._fields_:
+ if hasattr(type_, "restype"):
+ if name in bound_fields:
+ if bound_fields[name] is None:
+ fields[name] = type_()
+ else:
+ # use a closure to capture the callback from the loop scope
+ fields[name] = (
+ type_((lambda callback: lambda *args: callback(*args))(
+ bound_fields[name]))
+ )
+ del bound_fields[name]
+ else:
+ # default callback implementation (does nothing)
+ try:
+ default_ = type_(0).restype().value
+ except TypeError:
+ default_ = None
+ fields[name] = type_((
+ lambda default_: lambda *args: default_)(default_))
+ else:
+ # not a callback function, use default initialization
+ if name in bound_fields:
+ fields[name] = bound_fields[name]
+ del bound_fields[name]
+ else:
+ fields[name] = type_()
+ if len(bound_fields) != 0:
+ raise ValueError(
+ "Cannot bind the following unknown callback(s) {}.{}".format(
+ cls.__name__, bound_fields.keys()
+ ))
+ return cls(**fields)
+
+
+class Union(ctypes.Union, AsDictMixin):
+ pass
+
+
+
+
+
+GSM_MAX_FACILITY = 128 # macro
+GSM_MAX_SSVERSION = 128 # macro
+GSM_MAX_USERUSER = 128 # macro
+MNCC_SETUP_REQ = 0x0101 # macro
+MNCC_SETUP_IND = 0x0102 # macro
+MNCC_SETUP_RSP = 0x0103 # macro
+MNCC_SETUP_CNF = 0x0104 # macro
+MNCC_SETUP_COMPL_REQ = 0x0105 # macro
+MNCC_SETUP_COMPL_IND = 0x0106 # macro
+MNCC_CALL_CONF_IND = 0x0107 # macro
+MNCC_CALL_PROC_REQ = 0x0108 # macro
+MNCC_PROGRESS_REQ = 0x0109 # macro
+MNCC_ALERT_REQ = 0x010a # macro
+MNCC_ALERT_IND = 0x010b # macro
+MNCC_NOTIFY_REQ = 0x010c # macro
+MNCC_NOTIFY_IND = 0x010d # macro
+MNCC_DISC_REQ = 0x010e # macro
+MNCC_DISC_IND = 0x010f # macro
+MNCC_REL_REQ = 0x0110 # macro
+MNCC_REL_IND = 0x0111 # macro
+MNCC_REL_CNF = 0x0112 # macro
+MNCC_FACILITY_REQ = 0x0113 # macro
+MNCC_FACILITY_IND = 0x0114 # macro
+MNCC_START_DTMF_IND = 0x0115 # macro
+MNCC_START_DTMF_RSP = 0x0116 # macro
+MNCC_START_DTMF_REJ = 0x0117 # macro
+MNCC_STOP_DTMF_IND = 0x0118 # macro
+MNCC_STOP_DTMF_RSP = 0x0119 # macro
+MNCC_MODIFY_REQ = 0x011a # macro
+MNCC_MODIFY_IND = 0x011b # macro
+MNCC_MODIFY_RSP = 0x011c # macro
+MNCC_MODIFY_CNF = 0x011d # macro
+MNCC_MODIFY_REJ = 0x011e # macro
+MNCC_HOLD_IND = 0x011f # macro
+MNCC_HOLD_CNF = 0x0120 # macro
+MNCC_HOLD_REJ = 0x0121 # macro
+MNCC_RETRIEVE_IND = 0x0122 # macro
+MNCC_RETRIEVE_CNF = 0x0123 # macro
+MNCC_RETRIEVE_REJ = 0x0124 # macro
+MNCC_USERINFO_REQ = 0x0125 # macro
+MNCC_USERINFO_IND = 0x0126 # macro
+MNCC_REJ_REQ = 0x0127 # macro
+MNCC_REJ_IND = 0x0128 # macro
+MNCC_BRIDGE = 0x0200 # macro
+MNCC_FRAME_RECV = 0x0201 # macro
+MNCC_FRAME_DROP = 0x0202 # macro
+MNCC_LCHAN_MODIFY = 0x0203 # macro
+MNCC_RTP_CREATE = 0x0204 # macro
+MNCC_RTP_CONNECT = 0x0205 # macro
+MNCC_RTP_FREE = 0x0206 # macro
+GSM_TCHF_FRAME = 0x0300 # macro
+GSM_TCHF_FRAME_EFR = 0x0301 # macro
+GSM_TCHH_FRAME = 0x0302 # macro
+GSM_TCH_FRAME_AMR = 0x0303 # macro
+GSM_BAD_FRAME = 0x03ff # macro
+MNCC_SOCKET_HELLO = 0x0400 # macro
+MNCC_F_BEARER_CAP = 0x0001 # macro
+MNCC_F_CALLED = 0x0002 # macro
+MNCC_F_CALLING = 0x0004 # macro
+MNCC_F_REDIRECTING = 0x0008 # macro
+MNCC_F_CONNECTED = 0x0010 # macro
+MNCC_F_CAUSE = 0x0020 # macro
+MNCC_F_USERUSER = 0x0040 # macro
+MNCC_F_PROGRESS = 0x0080 # macro
+MNCC_F_EMERGENCY = 0x0100 # macro
+MNCC_F_FACILITY = 0x0200 # macro
+MNCC_F_SSVERSION = 0x0400 # macro
+MNCC_F_CCCAP = 0x0800 # macro
+MNCC_F_KEYPAD = 0x1000 # macro
+MNCC_F_SIGNAL = 0x2000 # macro
+MNCC_SOCK_VERSION = 7 # macro

# values for enumeration 'gsm48_bcap_itcap'
-gsm48_bcap_itcap = c_int # enum
+gsm48_bcap_itcap__enumvalues = {
+ 0: 'GSM48_BCAP_ITCAP_SPEECH',
+ 1: 'GSM48_BCAP_ITCAP_UNR_DIG_INF',
+ 2: 'GSM48_BCAP_ITCAP_3k1_AUDIO',
+ 3: 'GSM48_BCAP_ITCAP_FAX_G3',
+ 5: 'GSM48_BCAP_ITCAP_OTHER',
+ 7: 'GSM48_BCAP_ITCAP_RESERVED',
+}
+GSM48_BCAP_ITCAP_SPEECH = 0
+GSM48_BCAP_ITCAP_UNR_DIG_INF = 1
+GSM48_BCAP_ITCAP_3k1_AUDIO = 2
+GSM48_BCAP_ITCAP_FAX_G3 = 3
+GSM48_BCAP_ITCAP_OTHER = 5
+GSM48_BCAP_ITCAP_RESERVED = 7
+gsm48_bcap_itcap = ctypes.c_uint32 # enum

# values for enumeration 'gsm48_bcap_tmod'
-gsm48_bcap_tmod = c_int # enum
+gsm48_bcap_tmod__enumvalues = {
+ 0: 'GSM48_BCAP_TMOD_CIRCUIT',
+ 1: 'GSM48_BCAP_TMOD_PACKET',
+}
+GSM48_BCAP_TMOD_CIRCUIT = 0
+GSM48_BCAP_TMOD_PACKET = 1
+gsm48_bcap_tmod = ctypes.c_uint32 # enum

# values for enumeration 'gsm48_bcap_coding'
-gsm48_bcap_coding = c_int # enum
+gsm48_bcap_coding__enumvalues = {
+ 0: 'GSM48_BCAP_CODING_GSM_STD',
+}
+GSM48_BCAP_CODING_GSM_STD = 0
+gsm48_bcap_coding = ctypes.c_uint32 # enum

# values for enumeration 'gsm48_bcap_rrq'
-gsm48_bcap_rrq = c_int # enum
+gsm48_bcap_rrq__enumvalues = {
+ 1: 'GSM48_BCAP_RRQ_FR_ONLY',
+ 2: 'GSM48_BCAP_RRQ_DUAL_HR',
+ 3: 'GSM48_BCAP_RRQ_DUAL_FR',
+}
+GSM48_BCAP_RRQ_FR_ONLY = 1
+GSM48_BCAP_RRQ_DUAL_HR = 2
+GSM48_BCAP_RRQ_DUAL_FR = 3
+gsm48_bcap_rrq = ctypes.c_uint32 # enum

# values for enumeration 'gsm48_bcap_ra'
-gsm48_bcap_ra = c_int # enum
+gsm48_bcap_ra__enumvalues = {
+ 0: 'GSM48_BCAP_RA_NONE',
+ 1: 'GSM48_BCAP_RA_V110_X30',
+ 2: 'GSM48_BCAP_RA_X31',
+ 3: 'GSM48_BCAP_RA_OTHER',
+}
+GSM48_BCAP_RA_NONE = 0
+GSM48_BCAP_RA_V110_X30 = 1
+GSM48_BCAP_RA_X31 = 2
+GSM48_BCAP_RA_OTHER = 3
+gsm48_bcap_ra = ctypes.c_uint32 # enum

# values for enumeration 'gsm48_bcap_sig_access'
-gsm48_bcap_sig_access = c_int # enum
+gsm48_bcap_sig_access__enumvalues = {
+ 1: 'GSM48_BCAP_SA_I440_I450',
+ 2: 'GSM48_BCAP_SA_X21',
+ 3: 'GSM48_BCAP_SA_X28_DP_IN',
+ 4: 'GSM48_BCAP_SA_X28_DP_UN',
+ 5: 'GSM48_BCAP_SA_X28_NDP',
+ 6: 'GSM48_BCAP_SA_X32',
+}
+GSM48_BCAP_SA_I440_I450 = 1
+GSM48_BCAP_SA_X21 = 2
+GSM48_BCAP_SA_X28_DP_IN = 3
+GSM48_BCAP_SA_X28_DP_UN = 4
+GSM48_BCAP_SA_X28_NDP = 5
+GSM48_BCAP_SA_X32 = 6
+gsm48_bcap_sig_access = ctypes.c_uint32 # enum

# values for enumeration 'gsm48_bcap_user_rate'
-gsm48_bcap_user_rate = c_int # enum
+gsm48_bcap_user_rate__enumvalues = {
+ 1: 'GSM48_BCAP_UR_300',
+ 2: 'GSM48_BCAP_UR_1200',
+ 3: 'GSM48_BCAP_UR_2400',
+ 4: 'GSM48_BCAP_UR_4800',
+ 5: 'GSM48_BCAP_UR_9600',
+ 6: 'GSM48_BCAP_UR_12000',
+ 7: 'GSM48_BCAP_UR_1200_75',
+}
+GSM48_BCAP_UR_300 = 1
+GSM48_BCAP_UR_1200 = 2
+GSM48_BCAP_UR_2400 = 3
+GSM48_BCAP_UR_4800 = 4
+GSM48_BCAP_UR_9600 = 5
+GSM48_BCAP_UR_12000 = 6
+GSM48_BCAP_UR_1200_75 = 7
+gsm48_bcap_user_rate = ctypes.c_uint32 # enum

# values for enumeration 'gsm48_bcap_parity'
-gsm48_bcap_parity = c_int # enum
+gsm48_bcap_parity__enumvalues = {
+ 0: 'GSM48_BCAP_PAR_ODD',
+ 2: 'GSM48_BCAP_PAR_EVEN',
+ 3: 'GSM48_BCAP_PAR_NONE',
+ 4: 'GSM48_BCAP_PAR_ZERO',
+ 5: 'GSM48_BCAP_PAR_ONE',
+}
+GSM48_BCAP_PAR_ODD = 0
+GSM48_BCAP_PAR_EVEN = 2
+GSM48_BCAP_PAR_NONE = 3
+GSM48_BCAP_PAR_ZERO = 4
+GSM48_BCAP_PAR_ONE = 5
+gsm48_bcap_parity = ctypes.c_uint32 # enum

# values for enumeration 'gsm48_bcap_interm_rate'
-gsm48_bcap_interm_rate = c_int # enum
+gsm48_bcap_interm_rate__enumvalues = {
+ 2: 'GSM48_BCAP_IR_8k',
+ 3: 'GSM48_BCAP_IR_16k',
+}
+GSM48_BCAP_IR_8k = 2
+GSM48_BCAP_IR_16k = 3
+gsm48_bcap_interm_rate = ctypes.c_uint32 # enum

# values for enumeration 'gsm48_bcap_transp'
-gsm48_bcap_transp = c_int # enum
+gsm48_bcap_transp__enumvalues = {
+ 0: 'GSM48_BCAP_TR_TRANSP',
+ 1: 'GSM48_BCAP_TR_RLP',
+ 2: 'GSM48_BCAP_TR_TR_PREF',
+ 3: 'GSM48_BCAP_TR_RLP_PREF',
+}
+GSM48_BCAP_TR_TRANSP = 0
+GSM48_BCAP_TR_RLP = 1
+GSM48_BCAP_TR_TR_PREF = 2
+GSM48_BCAP_TR_RLP_PREF = 3
+gsm48_bcap_transp = ctypes.c_uint32 # enum

# values for enumeration 'gsm48_bcap_modem_type'
-gsm48_bcap_modem_type = c_int # enum
+gsm48_bcap_modem_type__enumvalues = {
+ 0: 'GSM48_BCAP_MT_NONE',
+ 1: 'GSM48_BCAP_MT_V21',
+ 2: 'GSM48_BCAP_MT_V22',
+ 3: 'GSM48_BCAP_MT_V22bis',
+ 4: 'GSM48_BCAP_MT_V23',
+ 5: 'GSM48_BCAP_MT_V26ter',
+ 6: 'GSM48_BCAP_MT_V32',
+ 7: 'GSM48_BCAP_MT_UNDEF',
+ 8: 'GSM48_BCAP_MT_AUTO_1',
+}
+GSM48_BCAP_MT_NONE = 0
+GSM48_BCAP_MT_V21 = 1
+GSM48_BCAP_MT_V22 = 2
+GSM48_BCAP_MT_V22bis = 3
+GSM48_BCAP_MT_V23 = 4
+GSM48_BCAP_MT_V26ter = 5
+GSM48_BCAP_MT_V32 = 6
+GSM48_BCAP_MT_UNDEF = 7
+GSM48_BCAP_MT_AUTO_1 = 8
+gsm48_bcap_modem_type = ctypes.c_uint32 # enum

# values for enumeration 'gsm48_bcap_speech_ver'
-gsm48_bcap_speech_ver = c_int # enum
-class gsm_mncc_bearer_cap(Structure):
+gsm48_bcap_speech_ver__enumvalues = {
+ 0: 'GSM48_BCAP_SV_FR',
+ 1: 'GSM48_BCAP_SV_HR',
+ 2: 'GSM48_BCAP_SV_EFR',
+ 4: 'GSM48_BCAP_SV_AMR_F',
+ 5: 'GSM48_BCAP_SV_AMR_H',
+ 6: 'GSM48_BCAP_SV_AMR_OFW',
+ 7: 'GSM48_BCAP_SV_AMR_OHW',
+ 8: 'GSM48_BCAP_SV_AMR_FW',
+ 11: 'GSM48_BCAP_SV_AMR_OH',
+}
+GSM48_BCAP_SV_FR = 0
+GSM48_BCAP_SV_HR = 1
+GSM48_BCAP_SV_EFR = 2
+GSM48_BCAP_SV_AMR_F = 4
+GSM48_BCAP_SV_AMR_H = 5
+GSM48_BCAP_SV_AMR_OFW = 6
+GSM48_BCAP_SV_AMR_OHW = 7
+GSM48_BCAP_SV_AMR_FW = 8
+GSM48_BCAP_SV_AMR_OH = 11
+gsm48_bcap_speech_ver = ctypes.c_uint32 # enum
+class struct_gsm_mncc_bearer_cap(Structure):
pass
-class N19gsm_mncc_bearer_cap4DOT_25E(Structure):
+
+class struct_gsm_mncc_bearer_cap_data(Structure):
pass
-N19gsm_mncc_bearer_cap4DOT_25E._fields_ = [
+
+struct_gsm_mncc_bearer_cap_data._pack_ = 1 # source:False
+struct_gsm_mncc_bearer_cap_data._fields_ = [
('rate_adaption', gsm48_bcap_ra),
('sig_access', gsm48_bcap_sig_access),
- ('async', c_int),
- ('nr_stop_bits', c_int),
- ('nr_data_bits', c_int),
+ ('async', ctypes.c_int32),
+ ('nr_stop_bits', ctypes.c_int32),
+ ('nr_data_bits', ctypes.c_int32),
('user_rate', gsm48_bcap_user_rate),
('parity', gsm48_bcap_parity),
('interm_rate', gsm48_bcap_interm_rate),
('transp', gsm48_bcap_transp),
('modem_type', gsm48_bcap_modem_type),
]
-gsm_mncc_bearer_cap._fields_ = [
- ('transfer', c_int),
- ('mode', c_int),
- ('coding', c_int),
- ('radio', c_int),
- ('speech_ctm', c_int),
- ('speech_ver', c_int * 8),
- ('data', N19gsm_mncc_bearer_cap4DOT_25E),
-]
-class gsm_mncc_number(Structure):
- pass
-gsm_mncc_number._fields_ = [
- ('type', c_int),
- ('plan', c_int),
- ('present', c_int),
- ('screen', c_int),
- ('number', c_char * 33),
-]
-class gsm_mncc_cause(Structure):
- pass
-gsm_mncc_cause._fields_ = [
- ('location', c_int),
- ('coding', c_int),
- ('rec', c_int),
- ('rec_val', c_int),
- ('value', c_int),
- ('diag_len', c_int),
- ('diag', c_char * 32),
-]
-class gsm_mncc_useruser(Structure):
- pass
-gsm_mncc_useruser._fields_ = [
- ('proto', c_int),
- ('info', c_char * 129),
-]
-class gsm_mncc_progress(Structure):
- pass
-gsm_mncc_progress._fields_ = [
- ('coding', c_int),
- ('location', c_int),
- ('descr', c_int),
-]
-class gsm_mncc_facility(Structure):
- pass
-gsm_mncc_facility._fields_ = [
- ('len', c_int),
- ('info', c_char * 128),
-]
-class gsm_mncc_ssversion(Structure):
- pass
-gsm_mncc_ssversion._fields_ = [
- ('len', c_int),
- ('info', c_char * 128),
-]
-class gsm_mncc_cccap(Structure):
- pass
-gsm_mncc_cccap._fields_ = [
- ('dtmf', c_int),
- ('pcp', c_int),
+
+struct_gsm_mncc_bearer_cap._pack_ = 1 # source:False
+struct_gsm_mncc_bearer_cap._fields_ = [
+ ('transfer', ctypes.c_int32),
+ ('mode', ctypes.c_int32),
+ ('coding', ctypes.c_int32),
+ ('radio', ctypes.c_int32),
+ ('speech_ctm', ctypes.c_int32),
+ ('speech_ver', ctypes.c_int32 * 8),
+ ('data', struct_gsm_mncc_bearer_cap_data),
]

-# values for unnamed enumeration
-class gsm_mncc(Structure):
+class struct_gsm_mncc_number(Structure):
pass
-__uint32_t = c_uint
-uint32_t = __uint32_t
-class N8gsm_mncc4DOT_27E(Structure):
- pass
-N8gsm_mncc4DOT_27E._fields_ = [
- ('sup', c_int),
- ('inv', c_int),
-]
-gsm_mncc._fields_ = [
- ('msg_type', uint32_t),
- ('callref', uint32_t),
- ('fields', uint32_t),
- ('bearer_cap', gsm_mncc_bearer_cap),
- ('called', gsm_mncc_number),
- ('calling', gsm_mncc_number),
- ('redirecting', gsm_mncc_number),
- ('connected', gsm_mncc_number),
- ('cause', gsm_mncc_cause),
- ('progress', gsm_mncc_progress),
- ('useruser', gsm_mncc_useruser),
- ('facility', gsm_mncc_facility),
- ('cccap', gsm_mncc_cccap),
- ('ssversion', gsm_mncc_ssversion),
- ('clir', N8gsm_mncc4DOT_27E),
- ('signal', c_int),
- ('keypad', c_int),
- ('more', c_int),
- ('notify', c_int),
- ('emergency', c_int),
- ('imsi', c_char * 16),
- ('lchan_type', c_ubyte),
- ('lchan_mode', c_ubyte),
- ('sdp', c_char * 1024),
-]
-class gsm_data_frame(Structure):
- pass
-gsm_data_frame._fields_ = [
- ('msg_type', uint32_t),
- ('callref', uint32_t),
- ('data', c_ubyte * 0),
-]
-class gsm_mncc_hello(Structure):
- pass
-gsm_mncc_hello._fields_ = [
- ('msg_type', uint32_t),
- ('version', uint32_t),
- ('mncc_size', uint32_t),
- ('data_frame_size', uint32_t),
- ('called_offset', uint32_t),
- ('signal_offset', uint32_t),
- ('emergency_offset', uint32_t),
- ('lchan_type_offset', uint32_t),
-]
-class gsm_mncc_rtp(Structure):
- pass
-class sockaddr_storage(Structure):
- pass
-sa_family_t = c_ushort
-sockaddr_storage._fields_ = [
- ('ss_family', sa_family_t),
- ('__ss_padding', c_char * 118),
- ('__ss_align', c_ulong),
-]
-gsm_mncc_rtp._fields_ = [
- ('msg_type', uint32_t),
- ('callref', uint32_t),
- ('addr', sockaddr_storage),
- ('payload_type', uint32_t),
- ('payload_msg_type', uint32_t),
- ('sdp', c_char * 1024),
-]
-class gsm_mncc_bridge(Structure):
- pass
-gsm_mncc_bridge._fields_ = [
- ('msg_type', uint32_t),
- ('callref', uint32_t * 2),
-]
-SOL_PPPOL2TP = 273 # Variable c_int '273'
-MNCC_SETUP_CNF = 260 # Variable c_int '260'
-INT_FAST64_WIDTH = 64 # Variable c_int '64'
-SO_RCVBUF = 8 # Variable c_int '8'
-MNCC_REL_CNF = 274 # Variable c_int '274'
-IPV6_FREEBIND = 78 # Variable c_int '78'
-_ATFILE_SOURCE = 1 # Variable c_int '1'
-IP_RECVFRAGSIZE = 25 # Variable c_int '25'
-MNCC_RTP_CREATE = 516 # Variable c_int '516'
-SO_PASSCRED = 16 # Variable c_int '16'
-PF_SECURITY = 14 # Variable c_int '14'
-SOL_XDP = 283 # Variable c_int '283'
-INT_FAST16_MAX = 9223372036854775807 # Variable c_long '9223372036854775807l'
-IP_PASSSEC = 18 # Variable c_int '18'
-MNCC_FACILITY_IND = 276 # Variable c_int '276'
-IPV6_DSTOPTS = 59 # Variable c_int '59'
-IPV6_ORIGDSTADDR = 74 # Variable c_int '74'
-__SIZEOF_PTHREAD_CONDATTR_T = 4 # Variable c_int '4'
-SOL_AAL = 265 # Variable c_int '265'
-SO_TIMESTAMPING_NEW = 65 # Variable c_int '65'
-_BITS_PTHREADTYPES_COMMON_H = 1 # Variable c_int '1'
-INT_FAST16_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l'
-SOL_ALG = 279 # Variable c_int '279'
-PF_X25 = 9 # Variable c_int '9'
-IP_UNICAST_IF = 50 # Variable c_int '50'
-IP_RECVERR = 11 # Variable c_int '11'
-IN_CLASSA_HOST = 16777215 # Variable c_uint '16777215u'
-__time_t_defined = 1 # Variable c_int '1'
-INT_LEAST16_MAX = 32767 # Variable c_int '32767'
-__NFDBITS = 64 # Variable c_int '64'
-__SIZEOF_PTHREAD_MUTEXATTR_T = 4 # Variable c_int '4'
-IPV6_RECVFRAGSIZE = 77 # Variable c_int '77'
-_POSIX_SOURCE = 1 # Variable c_int '1'
-PF_ISDN = 34 # Variable c_int '34'
-INT_LEAST8_MIN = -128 # Variable c_int '-0x00000000000000080'
-MNCC_REL_IND = 273 # Variable c_int '273'
-INT_FAST64_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l'
-INT16_WIDTH = 16 # Variable c_int '16'
-SOL_CAIF = 278 # Variable c_int '278'
-SO_MARK = 36 # Variable c_int '36'
-IPV6_HOPLIMIT = 52 # Variable c_int '52'
-__USE_POSIX199309 = 1 # Variable c_int '1'
-MNCC_RTP_CONNECT = 517 # Variable c_int '517'
-INT_LEAST16_WIDTH = 16 # Variable c_int '16'
-SO_BINDTODEVICE = 25 # Variable c_int '25'
-SOL_IUCV = 277 # Variable c_int '277'
-SO_BROADCAST = 6 # Variable c_int '6'
-__GLIBC_USE_DEPRECATED_SCANF = 0 # Variable c_int '0'
-IP_ADD_SOURCE_MEMBERSHIP = 39 # Variable c_int '39'
-__USE_ISOCXX11 = 1 # Variable c_int '1'
-INT_FAST8_WIDTH = 8 # Variable c_int '8'
-MNCC_F_USERUSER = 64 # Variable c_int '64'
-IP_MULTICAST_ALL = 49 # Variable c_int '49'
-PF_ALG = 38 # Variable c_int '38'
-__SIZEOF_PTHREAD_BARRIER_T = 32 # Variable c_int '32'
-INTMAX_WIDTH = 64 # Variable c_int '64'
-SOL_RDS = 276 # Variable c_int '276'
-IP_PMTUDISC_INTERFACE = 4 # Variable c_int '4'
-IPV6_2292RTHDR = 5 # Variable c_int '5'
-MCAST_JOIN_SOURCE_GROUP = 46 # Variable c_int '46'
-IPV6_RTHDR = 57 # Variable c_int '57'
-_BITS_ENDIANNESS_H = 1 # Variable c_int '1'
-IPV6_PMTUDISC_DO = 2 # Variable c_int '2'
-IP_MTU = 14 # Variable c_int '14'
-INT8_MAX = 127 # Variable c_int '127'
-__osockaddr_defined = 1 # Variable c_int '1'
-__USE_KERNEL_IPV6_DEFS = 0 # Variable c_int '0'
-SO_INCOMING_NAPI_ID = 56 # Variable c_int '56'
-__GLIBC_USE_LIB_EXT2 = 1 # Variable c_int '1'
-INET_ADDRSTRLEN = 16 # Variable c_int '16'
-SO_DETACH_REUSEPORT_BPF = 68 # Variable c_int '68'
-INADDR_BROADCAST = 4294967295 # Variable c_uint '4294967295u'
-WCHAR_WIDTH = 32 # Variable c_int '32'
-INTPTR_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l'
-PF_MPLS = 28 # Variable c_int '28'
-_ENDIAN_H = 1 # Variable c_int '1'
-INADDR_ALLSNOOPERS_GROUP = 3758096490 # Variable c_uint '3758096490u'
-FIOGETOWN = 35075 # Variable c_int '35075'
-MCAST_JOIN_GROUP = 42 # Variable c_int '42'
-__USE_FORTIFY_LEVEL = 0 # Variable c_int '0'
-PTRDIFF_MAX = 9223372036854775807 # Variable c_long '9223372036854775807l'
-MNCC_F_CCCAP = 2048 # Variable c_int '2048'
-INT32_MIN = -2147483648 # Variable c_int '-0x00000000080000000'
-__USE_XOPEN_EXTENDED = 1 # Variable c_int '1'
-INT_LEAST32_MAX = 2147483647 # Variable c_int '2147483647'
-IP_PKTINFO = 8 # Variable c_int '8'
-UINT32_WIDTH = 32 # Variable c_int '32'
-PF_BLUETOOTH = 31 # Variable c_int '31'
-PF_IRDA = 23 # Variable c_int '23'
-SO_DONTROUTE = 5 # Variable c_int '5'
-PF_IUCV = 32 # Variable c_int '32'
-MNCC_REJ_IND = 296 # Variable c_int '296'
-PF_APPLETALK = 5 # Variable c_int '5'
-UINTMAX_MAX = 18446744073709551615 # Variable c_ulong '-1ul'
-IPV6_PMTUDISC_PROBE = 3 # Variable c_int '3'
-PF_VSOCK = 40 # Variable c_int '40'
-MNCC_SETUP_COMPL_REQ = 261 # Variable c_int '261'
-IPV6_DONTFRAG = 62 # Variable c_int '62'
-SOL_PACKET = 263 # Variable c_int '263'
-MNCC_START_DTMF_IND = 277 # Variable c_int '277'
-UINT_FAST16_MAX = 18446744073709551615 # Variable c_ulong '-1ul'
-__WORDSIZE = 64 # Variable c_int '64'
-UINT_FAST64_WIDTH = 64 # Variable c_int '64'
-MNCC_FRAME_DROP = 514 # Variable c_int '514'
-SOL_RXRPC = 272 # Variable c_int '272'
-INT_FAST8_MIN = -128 # Variable c_int '-0x00000000000000080'
-_XOPEN_SOURCE = 700 # Variable c_int '700'
-SO_KEEPALIVE = 9 # Variable c_int '9'
-WINT_MIN = 0 # Variable c_uint '0u'
-__USE_ISOC95 = 1 # Variable c_int '1'
-IN_CLASSA_MAX = 128 # Variable c_int '128'
-MNCC_ALERT_IND = 267 # Variable c_int '267'
-IN_CLASSC_NSHIFT = 8 # Variable c_int '8'
-IP_PMTUDISC_DO = 2 # Variable c_int '2'
-__GLIBC__ = 2 # Variable c_int '2'
-SO_LOCK_FILTER = 44 # Variable c_int '44'
-__USE_ISOC99 = 1 # Variable c_int '1'
-SO_OOBINLINE = 10 # Variable c_int '10'
-PF_AX25 = 3 # Variable c_int '3'
-MNCC_F_SSVERSION = 1024 # Variable c_int '1024'
-IPV6_MULTICAST_LOOP = 19 # Variable c_int '19'
-SOL_TLS = 282 # Variable c_int '282'
-IPV6_HOPOPTS = 54 # Variable c_int '54'
-SOL_LLC = 268 # Variable c_int '268'
-IPV6_RECVERR = 25 # Variable c_int '25'
-INT_LEAST8_MAX = 127 # Variable c_int '127'
-UINT8_MAX = 255 # Variable c_int '255'
-SOL_NETBEUI = 267 # Variable c_int '267'
-SO_BUSY_POLL = 46 # Variable c_int '46'
-IN_CLASSB_HOST = 65535 # Variable c_uint '65535u'
-__USE_XOPEN = 1 # Variable c_int '1'
-PF_ROSE = 11 # Variable c_int '11'
-IPV6_ADDRFORM = 1 # Variable c_int '1'
-INT8_WIDTH = 8 # Variable c_int '8'
-MNCC_PROGRESS_REQ = 265 # Variable c_int '265'
-PF_SMC = 43 # Variable c_int '43'
-__USE_POSIX2 = 1 # Variable c_int '1'
-INT_LEAST64_WIDTH = 64 # Variable c_int '64'
-__iovec_defined = 1 # Variable c_int '1'
-IPV6_RECVRTHDR = 56 # Variable c_int '56'
-SOL_IRDA = 266 # Variable c_int '266'
-MNCC_LCHAN_MODIFY = 515 # Variable c_int '515'
-MNCC_F_REDIRECTING = 8 # Variable c_int '8'
-GSM_MAX_FACILITY = 128 # Variable c_int '128'
-INT64_WIDTH = 64 # Variable c_int '64'
-IP_PMTUDISC = 10 # Variable c_int '10'
-IPV6_2292PKTINFO = 2 # Variable c_int '2'
-SO_TIMESTAMPNS_NEW = 64 # Variable c_int '64'
-SO_PRIORITY = 12 # Variable c_int '12'
-UINT64_MAX = 18446744073709551615 # Variable c_ulong '-1ul'
-SO_INCOMING_CPU = 49 # Variable c_int '49'
-IN_CLASSB_MAX = 65536 # Variable c_int '65536'
-SO_LINGER = 13 # Variable c_int '13'
-__USE_ATFILE = 1 # Variable c_int '1'
-PF_CAIF = 37 # Variable c_int '37'
-IP_MAX_MEMBERSHIPS = 20 # Variable c_int '20'
-INTMAX_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l'
-IP_RECVOPTS = 6 # Variable c_int '6'
-UINT_LEAST8_WIDTH = 8 # Variable c_int '8'
-UINT_FAST8_MAX = 255 # Variable c_int '255'
-__USE_POSIX = 1 # Variable c_int '1'
-IP_RECVTOS = 13 # Variable c_int '13'
-IP_PMTUDISC_WANT = 1 # Variable c_int '1'
-MCAST_LEAVE_SOURCE_GROUP = 47 # Variable c_int '47'
-SO_PEERNAME = 28 # Variable c_int '28'
-__BITS_PER_LONG = 64 # Variable c_int '64'
-_BITS_STDINT_INTN_H = 1 # Variable c_int '1'
-INT_FAST64_MAX = 9223372036854775807 # Variable c_long '9223372036854775807l'
-IPV6_RECVPKTINFO = 49 # Variable c_int '49'
-MNCC_BRIDGE = 512 # Variable c_int '512'
-IPV6_PMTUDISC_WANT = 1 # Variable c_int '1'
-MNCC_F_CALLED = 2 # Variable c_int '2'
-IPV6_RTHDR_STRICT = 1 # Variable c_int '1'
-IPV6_RECVHOPOPTS = 53 # Variable c_int '53'
-SO_TYPE = 3 # Variable c_int '3'
-_BITS_WCHAR_H = 1 # Variable c_int '1'
-__GLIBC_MINOR__ = 32 # Variable c_int '32'
-INT64_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l'
-IPV6_IPSEC_POLICY = 34 # Variable c_int '34'
-SO_ZEROCOPY = 60 # Variable c_int '60'
-__SOCKADDR_COMMON_SIZE = 2 # Variable c_ulong '2ul'
-__clockid_t_defined = 1 # Variable c_int '1'
-SO_ACCEPTCONN = 30 # Variable c_int '30'
-IP_MULTICAST_LOOP = 34 # Variable c_int '34'
-IPV6_AUTOFLOWLABEL = 70 # Variable c_int '70'
-GSM_MAX_USERUSER = 128 # Variable c_int '128'
-__SIZEOF_PTHREAD_ATTR_T = 56 # Variable c_int '56'
-IPV6_MINHOPCOUNT = 73 # Variable c_int '73'
-IP_OPTIONS = 4 # Variable c_int '4'
-SO_RCVLOWAT = 18 # Variable c_int '18'
-SO_DEBUG = 1 # Variable c_int '1'
-__WORDSIZE_TIME64_COMPAT32 = 1 # Variable c_int '1'
-SCM_TIMESTAMPING_PKTINFO = 58 # Variable c_int '58'
-IN_CLASSB_NSHIFT = 16 # Variable c_int '16'
-_SYS_TYPES_H = 1 # Variable c_int '1'
-SO_MEMINFO = 55 # Variable c_int '55'
-PF_NETBEUI = 13 # Variable c_int '13'
-__HAVE_GENERIC_SELECTION = 0 # Variable c_int '0'
-IP_TOS = 1 # Variable c_int '1'
-MNCC_USERINFO_REQ = 293 # Variable c_int '293'
-IP_BIND_ADDRESS_NO_PORT = 24 # Variable c_int '24'
-__USE_GNU = 1 # Variable c_int '1'
-__GLIBC_USE_IEC_60559_FUNCS_EXT_C2X = 1 # Variable c_int '1'
-PF_UNSPEC = 0 # Variable c_int '0'
-__USE_LARGEFILE64 = 1 # Variable c_int '1'
-IP_MTU_DISCOVER = 10 # Variable c_int '10'
-SIOCGSTAMP_OLD = 35078 # Variable c_int '35078'
-MNCC_MODIFY_IND = 283 # Variable c_int '283'
-SOL_IPV6 = 41 # Variable c_int '41'
-MNCC_CALL_CONF_IND = 263 # Variable c_int '263'
-_POSIX_C_SOURCE = 200809 # Variable c_long '200809l'
-MNCC_F_SIGNAL = 8192 # Variable c_int '8192'
-UINT_LEAST16_WIDTH = 16 # Variable c_int '16'
-SO_SNDTIMEO_OLD = 21 # Variable c_int '21'
-IPV6_2292PKTOPTIONS = 6 # Variable c_int '6'
-UINT_LEAST64_WIDTH = 64 # Variable c_int '64'
-MNCC_DISC_IND = 271 # Variable c_int '271'
-_DEFAULT_SOURCE = 1 # Variable c_int '1'
-_BITS_ENDIAN_H = 1 # Variable c_int '1'
-SO_CNX_ADVICE = 53 # Variable c_int '53'
-INT8_MIN = -128 # Variable c_int '-0x00000000000000080'
-UINT_LEAST64_MAX = 18446744073709551615 # Variable c_ulong '-1ul'
-IP_BLOCK_SOURCE = 38 # Variable c_int '38'
-UINT_FAST64_MAX = 18446744073709551615 # Variable c_ulong '-1ul'
-SOL_ATM = 264 # Variable c_int '264'
-__SIZEOF_PTHREAD_RWLOCK_T = 56 # Variable c_int '56'
-_THREAD_SHARED_TYPES_H = 1 # Variable c_int '1'
-SOL_PNPIPE = 275 # Variable c_int '275'
-IP_TTL = 2 # Variable c_int '2'
-_SYS_SOCKET_H = 1 # Variable c_int '1'
-PF_TIPC = 30 # Variable c_int '30'
-MNCC_MODIFY_CNF = 285 # Variable c_int '285'
-INT32_MAX = 2147483647 # Variable c_int '2147483647'
-INT_LEAST64_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l'
-__USE_LARGEFILE = 1 # Variable c_int '1'
-__SIZEOF_PTHREAD_COND_T = 48 # Variable c_int '48'
-PTRDIFF_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l'
-_FEATURES_H = 1 # Variable c_int '1'
-IPV6_MTU_DISCOVER = 23 # Variable c_int '23'
-SIG_ATOMIC_WIDTH = 32 # Variable c_int '32'
-IP_ROUTER_ALERT = 5 # Variable c_int '5'
-MNCC_MODIFY_REQ = 282 # Variable c_int '282'
-_BITS_TYPES_H = 1 # Variable c_int '1'
-IP_DEFAULT_MULTICAST_LOOP = 1 # Variable c_int '1'
-IPV6_NEXTHOP = 9 # Variable c_int '9'
-IP_MSFILTER = 41 # Variable c_int '41'
-PF_DECnet = 12 # Variable c_int '12'
-INT_LEAST8_WIDTH = 8 # Variable c_int '8'
-IP_MINTTL = 21 # Variable c_int '21'
-MNCC_MODIFY_REJ = 286 # Variable c_int '286'
-PF_QIPCRTR = 42 # Variable c_int '42'
-IP_PMTUDISC_DONT = 0 # Variable c_int '0'
-UINT_LEAST32_WIDTH = 32 # Variable c_int '32'
-_XOPEN_SOURCE_EXTENDED = 1 # Variable c_int '1'
-SIOCGSTAMPNS_OLD = 35079 # Variable c_int '35079'
-PF_LOCAL = 1 # Variable c_int '1'
-MNCC_RETRIEVE_CNF = 291 # Variable c_int '291'
-MNCC_F_EMERGENCY = 256 # Variable c_int '256'
-INADDR_ALLHOSTS_GROUP = 3758096385 # Variable c_uint '3758096385u'
-MNCC_REJ_REQ = 295 # Variable c_int '295'
-IPV6_TCLASS = 67 # Variable c_int '67'
-INT_FAST8_MAX = 127 # Variable c_int '127'
-UINT64_WIDTH = 64 # Variable c_int '64'
-SO_BINDTOIFINDEX = 62 # Variable c_int '62'
-SOL_SOCKET = 1 # Variable c_int '1'
-INTPTR_MAX = 9223372036854775807 # Variable c_long '9223372036854775807l'
-__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 = 1 # Variable c_int '1'
-IPV6_2292DSTOPTS = 4 # Variable c_int '4'
-MNCC_F_CALLING = 4 # Variable c_int '4'
-PF_IB = 27 # Variable c_int '27'
-IP_MULTICAST_TTL = 33 # Variable c_int '33'
-MNCC_CALL_PROC_REQ = 264 # Variable c_int '264'
-WINT_MAX = 4294967295 # Variable c_uint '4294967295u'
-SIOCGPGRP = 35076 # Variable c_int '35076'
-_BITS_STDINT_UINTN_H = 1 # Variable c_int '1'
-IP_ADD_MEMBERSHIP = 35 # Variable c_int '35'
-GSM_BAD_FRAME = 1023 # Variable c_int '1023'
-__GLIBC_USE_DEPRECATED_GETS = 0 # Variable c_int '0'
-PF_NETROM = 6 # Variable c_int '6'
-__glibc_c99_flexarr_available = 1 # Variable c_int '1'
-GSM_TCHH_FRAME = 770 # Variable c_int '770'
-__GNU_LIBRARY__ = 6 # Variable c_int '6'
-_BITS_TYPESIZES_H = 1 # Variable c_int '1'
-IP_RECVTTL = 12 # Variable c_int '12'
-MNCC_REL_REQ = 272 # Variable c_int '272'
-MNCC_STOP_DTMF_RSP = 281 # Variable c_int '281'
-SO_ERROR = 4 # Variable c_int '4'
-MCAST_LEAVE_GROUP = 45 # Variable c_int '45'
-IPV6_RECVHOPLIMIT = 51 # Variable c_int '51'
-IP_ORIGDSTADDR = 20 # Variable c_int '20'
-PF_NFC = 39 # Variable c_int '39'
-IPV6_LEAVE_ANYCAST = 28 # Variable c_int '28'
-GSM_TCHF_FRAME_EFR = 769 # Variable c_int '769'
-IN_CLASSA_NET = 4278190080 # Variable c_uint '4278190080u'
-SOL_TIPC = 271 # Variable c_int '271'
-IPV6_MULTICAST_IF = 17 # Variable c_int '17'
-MNCC_NOTIFY_IND = 269 # Variable c_int '269'
-MNCC_SETUP_COMPL_IND = 262 # Variable c_int '262'
-SO_TIMESTAMPNS_OLD = 35 # Variable c_int '35'
-INTMAX_MAX = 9223372036854775807 # Variable c_long '9223372036854775807l'
-IP_DROP_SOURCE_MEMBERSHIP = 40 # Variable c_int '40'
-__GLIBC_USE_IEC_60559_BFP_EXT_C2X = 1 # Variable c_int '1'
-SO_SNDLOWAT = 19 # Variable c_int '19'
-MNCC_HOLD_CNF = 288 # Variable c_int '288'
-SOL_NFC = 280 # Variable c_int '280'
-__GLIBC_USE_IEC_60559_BFP_EXT = 1 # Variable c_int '1'
-SO_REUSEADDR = 2 # Variable c_int '2'
-__GLIBC_USE_IEC_60559_FUNCS_EXT = 1 # Variable c_int '1'
-PF_PPPOX = 24 # Variable c_int '24'
-SO_BSDCOMPAT = 14 # Variable c_int '14'
-__RLIM_T_MATCHES_RLIM64_T = 1 # Variable c_int '1'
-MNCC_DISC_REQ = 270 # Variable c_int '270'
-IN_CLASSC_HOST = 255 # Variable c_uint '255u'
-PF_RXRPC = 33 # Variable c_int '33'
-__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI = 0 # Variable c_int '0'
-UINT_LEAST32_MAX = 4294967295 # Variable c_uint '4294967295u'
-__GLIBC_USE_IEC_60559_TYPES_EXT = 1 # Variable c_int '1'
-SO_SNDBUF = 7 # Variable c_int '7'
-SO_PEEK_OFF = 42 # Variable c_int '42'
-WINT_WIDTH = 32 # Variable c_int '32'
-UINT32_MAX = 4294967295 # Variable c_uint '4294967295u'
-MNCC_F_PROGRESS = 128 # Variable c_int '128'
-MNCC_HOLD_REJ = 289 # Variable c_int '289'
-IPV6_UNICAST_HOPS = 16 # Variable c_int '16'
-IPV6_AUTHHDR = 10 # Variable c_int '10'
-SO_ATTACH_REUSEPORT_CBPF = 51 # Variable c_int '51'
-IP_DROP_MEMBERSHIP = 36 # Variable c_int '36'
-MNCC_SETUP_REQ = 257 # Variable c_int '257'
-SO_SECURITY_ENCRYPTION_TRANSPORT = 23 # Variable c_int '23'
-IPV6_RTHDRDSTOPTS = 55 # Variable c_int '55'
-IP_FREEBIND = 15 # Variable c_int '15'
-__USE_XOPEN2K = 1 # Variable c_int '1'
-__FD_SETSIZE = 1024 # Variable c_int '1024'
-INADDR_ALLRTRS_GROUP = 3758096386 # Variable c_uint '3758096386u'
-SIOCATMARK = 35077 # Variable c_int '35077'
-IPV6_PKTINFO = 50 # Variable c_int '50'
-UINTMAX_WIDTH = 64 # Variable c_int '64'
-PF_CAN = 29 # Variable c_int '29'
-MNCC_RTP_FREE = 518 # Variable c_int '518'
-PF_SNA = 22 # Variable c_int '22'
-SOL_DCCP = 269 # Variable c_int '269'
-SO_NO_CHECK = 11 # Variable c_int '11'
-__GLIBC_USE_ISOC2X = 1 # Variable c_int '1'
-SOL_ICMPV6 = 58 # Variable c_int '58'
-UINTPTR_MAX = 18446744073709551615 # Variable c_ulong '-1ul'
-IPV6_ROUTER_ALERT = 22 # Variable c_int '22'
-__SIZEOF_PTHREAD_BARRIERATTR_T = 4 # Variable c_int '4'
-INT16_MIN = -32768 # Variable c_int '-0x00000000000008000'
-MNCC_RETRIEVE_REJ = 292 # Variable c_int '292'
-SO_TXTIME = 61 # Variable c_int '61'
-UINT8_WIDTH = 8 # Variable c_int '8'
-IN_CLASSC_NET = 4294967040 # Variable c_uint '4294967040u'
-INT_LEAST64_MAX = 9223372036854775807 # Variable c_long '9223372036854775807l'
-PF_INET = 2 # Variable c_int '2'
-IPV6_MULTICAST_HOPS = 18 # Variable c_int '18'
-PF_IPX = 4 # Variable c_int '4'
-MNCC_FACILITY_REQ = 275 # Variable c_int '275'
-PF_INET6 = 10 # Variable c_int '10'
-MNCC_RETRIEVE_IND = 290 # Variable c_int '290'
-SOL_DECNET = 261 # Variable c_int '261'
-PF_KCM = 41 # Variable c_int '41'
-MNCC_F_CONNECTED = 16 # Variable c_int '16'
-IN_CLASSB_NET = 4294901760 # Variable c_uint '4294901760u'
-_STDINT_H = 1 # Variable c_int '1'
-__PTHREAD_MUTEX_HAVE_PREV = 1 # Variable c_int '1'
-PF_KEY = 15 # Variable c_int '15'
-IPV6_UNICAST_IF = 76 # Variable c_int '76'
-IP_PMTUDISC_OMIT = 5 # Variable c_int '5'
-_BITS_BYTESWAP_H = 1 # Variable c_int '1'
-MCAST_EXCLUDE = 0 # Variable c_int '0'
-IPV6_PMTUDISC_DONT = 0 # Variable c_int '0'
-SO_ATTACH_REUSEPORT_EBPF = 52 # Variable c_int '52'
-UINT16_MAX = 65535 # Variable c_int '65535'
-MNCC_F_KEYPAD = 4096 # Variable c_int '4096'
-PF_IEEE802154 = 36 # Variable c_int '36'
-SO_TIMESTAMPING_OLD = 37 # Variable c_int '37'
-IPV6_CHECKSUM = 7 # Variable c_int '7'
-MNCC_USERINFO_IND = 294 # Variable c_int '294'
-UINT_FAST32_MAX = 18446744073709551615 # Variable c_ulong '-1ul'
-SO_SNDTIMEO_NEW = 67 # Variable c_int '67'
-IPV6_PMTUDISC_OMIT = 5 # Variable c_int '5'
-SIG_ATOMIC_MIN = -2147483648 # Variable c_int '-0x00000000080000000'
-__USE_POSIX199506 = 1 # Variable c_int '1'
-IPV6_PATHMTU = 61 # Variable c_int '61'
-__BIG_ENDIAN = 4321 # Variable c_int '4321'
-MNCC_F_FACILITY = 512 # Variable c_int '512'
-PF_NETLINK = 16 # Variable c_int '16'
-__USE_XOPEN2K8XSI = 1 # Variable c_int '1'
-__INO_T_MATCHES_INO64_T = 1 # Variable c_int '1'
-SO_PEERCRED = 17 # Variable c_int '17'
-PF_MAX = 45 # Variable c_int '45'
-SO_RCVBUFFORCE = 33 # Variable c_int '33'
-GSM_TCHF_FRAME = 768 # Variable c_int '768'
-SO_SECURITY_AUTHENTICATION = 22 # Variable c_int '22'
-SO_SECURITY_ENCRYPTION_NETWORK = 24 # Variable c_int '24'
-SO_RCVTIMEO_OLD = 20 # Variable c_int '20'
-__STATFS_MATCHES_STATFS64 = 1 # Variable c_int '1'
-SO_NOFCS = 43 # Variable c_int '43'
-FIOSETOWN = 35073 # Variable c_int '35073'
-INT_LEAST16_MIN = -32768 # Variable c_int '-0x00000000000008000'
-IP_UNBLOCK_SOURCE = 37 # Variable c_int '37'
-_SYS_CDEFS_H = 1 # Variable c_int '1'
-MNCC_MODIFY_RSP = 284 # Variable c_int '284'
-MNCC_SETUP_RSP = 259 # Variable c_int '259'
-SO_PROTOCOL = 38 # Variable c_int '38'
-SIZE_MAX = 18446744073709551615 # Variable c_ulong '-1ul'
-UINT_LEAST16_MAX = 65535 # Variable c_int '65535'
-SOL_KCM = 281 # Variable c_int '281'
-SO_TIMESTAMP_OLD = 29 # Variable c_int '29'
-SO_ATTACH_FILTER = 26 # Variable c_int '26'
-INT_FAST32_MAX = 9223372036854775807 # Variable c_long '9223372036854775807l'
-MNCC_F_BEARER_CAP = 1 # Variable c_int '1'
-IPV6_RTHDR_LOOSE = 0 # Variable c_int '0'
-PF_LLC = 26 # Variable c_int '26'
-MCAST_UNBLOCK_SOURCE = 44 # Variable c_int '44'
-_BITS_TIME64_H = 1 # Variable c_int '1'
-_LARGEFILE_SOURCE = 1 # Variable c_int '1'
-_STRUCT_TIMESPEC = 1 # Variable c_int '1'
-PF_ECONET = 19 # Variable c_int '19'
-__USE_XOPEN2KXSI = 1 # Variable c_int '1'
-__LITTLE_ENDIAN = 1234 # Variable c_int '1234'
-__have_pthread_attr_t = 1 # Variable c_int '1'
-MNCC_F_CAUSE = 32 # Variable c_int '32'
-SO_ATTACH_BPF = 50 # Variable c_int '50'
-PF_RDS = 21 # Variable c_int '21'
-UINT16_WIDTH = 16 # Variable c_int '16'
-INT64_MAX = 9223372036854775807 # Variable c_long '9223372036854775807l'
-__USE_XOPEN2K8 = 1 # Variable c_int '1'
-IP_HDRINCL = 3 # Variable c_int '3'
-IPV6_HDRINCL = 36 # Variable c_int '36'
-GSM_TCH_FRAME_AMR = 771 # Variable c_int '771'
-IP_PMTUDISC_PROBE = 3 # Variable c_int '3'
-SO_MAX_PACING_RATE = 47 # Variable c_int '47'
-_BITS_UINTN_IDENTITY_H = 1 # Variable c_int '1'
-_SS_PADSIZE = 118 # Variable c_ulong '118ul'
-IP_IPSEC_POLICY = 16 # Variable c_int '16'
-MNCC_SOCK_VERSION = 7 # Variable c_int '7'
-SCM_TIMESTAMPING_OPT_STATS = 54 # Variable c_int '54'
-MNCC_START_DTMF_REJ = 279 # Variable c_int '279'
-IPV6_RTHDR_TYPE_0 = 0 # Variable c_int '0'
-_SYS_SELECT_H = 1 # Variable c_int '1'
-SO_PEERSEC = 31 # Variable c_int '31'
-MCAST_BLOCK_SOURCE = 43 # Variable c_int '43'
-SOL_BLUETOOTH = 274 # Variable c_int '274'
-_ISOC95_SOURCE = 1 # Variable c_int '1'
-SO_SNDBUFFORCE = 32 # Variable c_int '32'
-_ISOC99_SOURCE = 1 # Variable c_int '1'
-MCAST_INCLUDE = 1 # Variable c_int '1'
-INADDR_LOOPBACK = 2130706433 # Variable c_uint '2130706433u'
-PF_PACKET = 17 # Variable c_int '17'
-PF_ATMPVC = 8 # Variable c_int '8'
-__clock_t_defined = 1 # Variable c_int '1'
-IP_PKTOPTIONS = 9 # Variable c_int '9'
-__SYSCALL_WORDSIZE = 64 # Variable c_int '64'
-__USE_MISC = 1 # Variable c_int '1'
-SO_DETACH_FILTER = 27 # Variable c_int '27'
-MNCC_SOCKET_HELLO = 1024 # Variable c_int '1024'
-__sigset_t_defined = 1 # Variable c_int '1'
-__timer_t_defined = 1 # Variable c_int '1'
-IPV6_LEAVE_GROUP = 21 # Variable c_int '21'
-INT32_WIDTH = 32 # Variable c_int '32'
-SO_SELECT_ERR_QUEUE = 45 # Variable c_int '45'
-MCAST_MSFILTER = 48 # Variable c_int '48'
-__BIT_TYPES_DEFINED__ = 1 # Variable c_int '1'
-SO_BPF_EXTENSIONS = 48 # Variable c_int '48'
-IP_DEFAULT_MULTICAST_TTL = 1 # Variable c_int '1'
-INADDR_NONE = 4294967295 # Variable c_uint '4294967295u'
-IPV6_V6ONLY = 26 # Variable c_int '26'
-SOMAXCONN = 4096 # Variable c_int '4096'
-SO_RXQ_OVFL = 40 # Variable c_int '40'
-IPV6_RECVDSTOPTS = 58 # Variable c_int '58'
-IPV6_MTU = 24 # Variable c_int '24'
-_ISOC2X_SOURCE = 1 # Variable c_int '1'
-SO_TIMESTAMP_NEW = 63 # Variable c_int '63'
-IP_CHECKSUM = 23 # Variable c_int '23'
-_SS_SIZE = 128 # Variable c_int '128'
-_BITS_SOCKADDR_H = 1 # Variable c_int '1'
-MNCC_FRAME_RECV = 513 # Variable c_int '513'
-IPV6_ROUTER_ALERT_ISOLATE = 30 # Variable c_int '30'
-INADDR_UNSPEC_GROUP = 3758096384 # Variable c_uint '3758096384u'
-SOL_RAW = 255 # Variable c_int '255'
-_ISOC11_SOURCE = 1 # Variable c_int '1'
-IPV6_TRANSPARENT = 75 # Variable c_int '75'
-IPV6_2292HOPOPTS = 3 # Variable c_int '3'
-INT16_MAX = 32767 # Variable c_int '32767'
-__SIZEOF_PTHREAD_MUTEX_T = 40 # Variable c_int '40'
-__USE_UNIX98 = 1 # Variable c_int '1'
-PF_ASH = 18 # Variable c_int '18'
-IPV6_2292HOPLIMIT = 8 # Variable c_int '8'
-IN_LOOPBACKNET = 127 # Variable c_int '127'
-UINT_FAST8_WIDTH = 8 # Variable c_int '8'
-INADDR_MAX_LOCAL_GROUP = 3758096639 # Variable c_uint '3758096639u'
-SOL_IP = 0 # Variable c_int '0'
-IP_XFRM_POLICY = 17 # Variable c_int '17'
-SO_PEERGROUPS = 59 # Variable c_int '59'
-IN_CLASSA_NSHIFT = 24 # Variable c_int '24'
-PF_BRIDGE = 7 # Variable c_int '7'
-PF_XDP = 44 # Variable c_int '44'
-INT_LEAST32_MIN = -2147483648 # Variable c_int '-0x00000000080000000'
-INADDR_ANY = 0 # Variable c_uint '0u'
-_THREAD_MUTEX_INTERNAL_H = 1 # Variable c_int '1'
-UINT_LEAST8_MAX = 255 # Variable c_int '255'
-MNCC_HOLD_IND = 287 # Variable c_int '287'
-_BITS_PTHREADTYPES_ARCH_H = 1 # Variable c_int '1'
-PF_PHONET = 35 # Variable c_int '35'
-IPV6_RECVPATHMTU = 60 # Variable c_int '60'
-IPV6_ADDR_PREFERENCES = 72 # Variable c_int '72'
-GSM_MAX_SSVERSION = 128 # Variable c_int '128'
-MNCC_ALERT_REQ = 266 # Variable c_int '266'
-MNCC_START_DTMF_RSP = 278 # Variable c_int '278'
-INET6_ADDRSTRLEN = 46 # Variable c_int '46'
-IPV6_JOIN_ANYCAST = 27 # Variable c_int '27'
-SIG_ATOMIC_MAX = 2147483647 # Variable c_int '2147483647'
-SO_WIFI_STATUS = 41 # Variable c_int '41'
-IP_RETOPTS = 7 # Variable c_int '7'
-IPV6_JOIN_GROUP = 20 # Variable c_int '20'
-SO_REUSEPORT = 15 # Variable c_int '15'
-INT_FAST32_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l'
-SO_COOKIE = 57 # Variable c_int '57'
-IPV6_MULTICAST_ALL = 29 # Variable c_int '29'
-SOL_X25 = 262 # Variable c_int '262'
-MNCC_SETUP_IND = 258 # Variable c_int '258'
-PF_ATMSVC = 20 # Variable c_int '20'
-MNCC_NOTIFY_REQ = 268 # Variable c_int '268'
-MNCC_STOP_DTMF_IND = 280 # Variable c_int '280'
-__SIZEOF_PTHREAD_RWLOCKATTR_T = 8 # Variable c_int '8'
-__PDP_ENDIAN = 3412 # Variable c_int '3412'
-SOL_NETLINK = 270 # Variable c_int '270'
-IP_NODEFRAG = 22 # Variable c_int '22'
-IPV6_PMTUDISC_INTERFACE = 4 # Variable c_int '4'
-IP_TRANSPARENT = 19 # Variable c_int '19'
-_LARGEFILE64_SOURCE = 1 # Variable c_int '1'
-__OFF_T_MATCHES_OFF64_T = 1 # Variable c_int '1'
-IPV6_XFRM_POLICY = 35 # Variable c_int '35'
-_SIGSET_NWORDS = 16 # Variable c_ulong '16ul'
-PF_WANPIPE = 25 # Variable c_int '25'
-IPV6_RECVTCLASS = 66 # Variable c_int '66'
-SO_DOMAIN = 39 # Variable c_int '39'
-IP_MULTICAST_IF = 32 # Variable c_int '32'
-INT_LEAST32_WIDTH = 32 # Variable c_int '32'
-SO_RCVTIMEO_NEW = 66 # Variable c_int '66'
-__USE_ISOC11 = 1 # Variable c_int '1'
-SO_PASSSEC = 34 # Variable c_int '34'
-__timeval_defined = 1 # Variable c_int '1'
-_NETINET_IN_H = 1 # Variable c_int '1'
-SIOCSPGRP = 35074 # Variable c_int '35074'
-__kernel_long_t = c_long
-__kernel_ulong_t = c_ulong
-__kernel_ino_t = __kernel_ulong_t
-__kernel_mode_t = c_uint
-__kernel_pid_t = c_int
-__kernel_ipc_pid_t = c_int
-__kernel_uid_t = c_uint
-__kernel_gid_t = c_uint
-__kernel_suseconds_t = __kernel_long_t
-__kernel_daddr_t = c_int
-__kernel_uid32_t = c_uint
-__kernel_gid32_t = c_uint
-__kernel_size_t = __kernel_ulong_t
-__kernel_ssize_t = __kernel_long_t
-__kernel_ptrdiff_t = __kernel_long_t
-class __kernel_fsid_t(Structure):
- pass
-__kernel_fsid_t._fields_ = [
- ('val', c_int * 2),
-]
-__kernel_off_t = __kernel_long_t
-__kernel_loff_t = c_longlong
-__kernel_old_time_t = __kernel_long_t
-__kernel_time_t = __kernel_long_t
-__kernel_time64_t = c_longlong
-__kernel_clock_t = __kernel_long_t
-__kernel_timer_t = c_int
-__kernel_clockid_t = c_int
-__kernel_caddr_t = STRING
-__kernel_uid16_t = c_ushort
-__kernel_gid16_t = c_ushort
-__kernel_old_uid_t = c_ushort
-__kernel_old_gid_t = c_ushort
-__kernel_old_dev_t = c_ulong
-class ip_opts(Structure):
- pass
-class in_addr(Structure):
- pass
-in_addr_t = uint32_t
-in_addr._fields_ = [
- ('s_addr', in_addr_t),
-]
-ip_opts._fields_ = [
- ('ip_dst', in_addr),
- ('ip_opts', c_char * 40),
-]
-class ip_mreqn(Structure):
- pass
-ip_mreqn._fields_ = [
- ('imr_multiaddr', in_addr),
- ('imr_address', in_addr),
- ('imr_ifindex', c_int),
-]
-class in_pktinfo(Structure):
- pass
-in_pktinfo._fields_ = [
- ('ipi_ifindex', c_int),
- ('ipi_spec_dst', in_addr),
- ('ipi_addr', in_addr),
-]
-pthread_t = c_ulong
-pthread_key_t = c_uint
-pthread_once_t = c_int
-class pthread_attr_t(Union):
- pass
-pthread_spinlock_t = c_int
-__socklen_t = c_uint
-socklen_t = __socklen_t
-class sockaddr(Structure):
- pass
-sockaddr._fields_ = [
- ('sa_family', sa_family_t),
- ('sa_data', c_char * 14),
+
+struct_gsm_mncc_number._pack_ = 1 # source:False
+struct_gsm_mncc_number._fields_ = [
+ ('type', ctypes.c_int32),
+ ('plan', ctypes.c_int32),
+ ('present', ctypes.c_int32),
+ ('screen', ctypes.c_int32),
+ ('number', ctypes.c_char * 33),
+ ('PADDING_0', ctypes.c_ubyte * 3),
]

-# values for unnamed enumeration
-class msghdr(Structure):
+class struct_gsm_mncc_cause(Structure):
pass
-class iovec(Structure):
- pass
-size_t = c_ulong
-msghdr._fields_ = [
- ('msg_name', c_void_p),
- ('msg_namelen', socklen_t),
- ('msg_iov', POINTER(iovec)),
- ('msg_iovlen', size_t),
- ('msg_control', c_void_p),
- ('msg_controllen', size_t),
- ('msg_flags', c_int),
-]
-class cmsghdr(Structure):
- pass
-cmsghdr._fields_ = [
- ('cmsg_len', size_t),
- ('cmsg_level', c_int),
- ('cmsg_type', c_int),
- ('__cmsg_data', c_ubyte * 0),
+
+struct_gsm_mncc_cause._pack_ = 1 # source:False
+struct_gsm_mncc_cause._fields_ = [
+ ('location', ctypes.c_int32),
+ ('coding', ctypes.c_int32),
+ ('rec', ctypes.c_int32),
+ ('rec_val', ctypes.c_int32),
+ ('value', ctypes.c_int32),
+ ('diag_len', ctypes.c_int32),
+ ('diag', ctypes.c_char * 32),
]

-# values for unnamed enumeration
-class ucred(Structure):
+class struct_gsm_mncc_useruser(Structure):
pass
-__pid_t = c_int
-pid_t = __pid_t
-__uid_t = c_uint
-uid_t = __uid_t
-__gid_t = c_uint
-gid_t = __gid_t
-ucred._fields_ = [
- ('pid', pid_t),
- ('uid', uid_t),
- ('gid', gid_t),
-]
-class linger(Structure):
- pass
-linger._fields_ = [
- ('l_onoff', c_int),
- ('l_linger', c_int),
+
+struct_gsm_mncc_useruser._pack_ = 1 # source:False
+struct_gsm_mncc_useruser._fields_ = [
+ ('proto', ctypes.c_int32),
+ ('info', ctypes.c_char * 129),
+ ('PADDING_0', ctypes.c_ubyte * 3),
]

-# values for enumeration '__socket_type'
-__socket_type = c_int # enum
-__int8_t = c_byte
-int8_t = __int8_t
-__int16_t = c_short
-int16_t = __int16_t
-__int32_t = c_int
-int32_t = __int32_t
-__int64_t = c_long
-int64_t = __int64_t
-__uint8_t = c_ubyte
-uint8_t = __uint8_t
-__uint16_t = c_ushort
-uint16_t = __uint16_t
-__uint64_t = c_ulong
-uint64_t = __uint64_t
-class __pthread_mutex_s(Structure):
+class struct_gsm_mncc_progress(Structure):
pass
-class __pthread_internal_list(Structure):
- pass
-__pthread_internal_list._fields_ = [
- ('__prev', POINTER(__pthread_internal_list)),
- ('__next', POINTER(__pthread_internal_list)),
-]
-__pthread_list_t = __pthread_internal_list
-__pthread_mutex_s._fields_ = [
- ('__lock', c_int),
- ('__count', c_uint),
- ('__owner', c_int),
- ('__nusers', c_uint),
- ('__kind', c_int),
- ('__spins', c_short),
- ('__elision', c_short),
- ('__list', __pthread_list_t),
-]
-class __pthread_rwlock_arch_t(Structure):
- pass
-__pthread_rwlock_arch_t._fields_ = [
- ('__readers', c_uint),
- ('__writers', c_uint),
- ('__wrphase_futex', c_uint),
- ('__writers_futex', c_uint),
- ('__pad3', c_uint),
- ('__pad4', c_uint),
- ('__cur_writer', c_int),
- ('__shared', c_int),
- ('__rwelision', c_byte),
- ('__pad1', c_ubyte * 7),
- ('__pad2', c_ulong),
- ('__flags', c_uint),
-]
-class __pthread_internal_slist(Structure):
- pass
-__pthread_internal_slist._fields_ = [
- ('__next', POINTER(__pthread_internal_slist)),
-]
-__pthread_slist_t = __pthread_internal_slist
-class __pthread_cond_s(Structure):
- pass
-class N16__pthread_cond_s3DOT_3E(Union):
- pass
-class N16__pthread_cond_s3DOT_33DOT_4E(Structure):
- pass
-N16__pthread_cond_s3DOT_33DOT_4E._fields_ = [
- ('__low', c_uint),
- ('__high', c_uint),
-]
-N16__pthread_cond_s3DOT_3E._fields_ = [
- ('__wseq', c_ulonglong),
- ('__wseq32', N16__pthread_cond_s3DOT_33DOT_4E),
-]
-class N16__pthread_cond_s3DOT_5E(Union):
- pass
-class N16__pthread_cond_s3DOT_53DOT_6E(Structure):
- pass
-N16__pthread_cond_s3DOT_53DOT_6E._fields_ = [
- ('__low', c_uint),
- ('__high', c_uint),
-]
-N16__pthread_cond_s3DOT_5E._fields_ = [
- ('__g1_start', c_ulonglong),
- ('__g1_start32', N16__pthread_cond_s3DOT_53DOT_6E),
-]
-__pthread_cond_s._anonymous_ = ['_0', '_1']
-__pthread_cond_s._fields_ = [
- ('_0', N16__pthread_cond_s3DOT_3E),
- ('_1', N16__pthread_cond_s3DOT_5E),
- ('__g_refs', c_uint * 2),
- ('__g_size', c_uint * 2),
- ('__g1_orig_size', c_uint),
- ('__wrefs', c_uint),
- ('__g_signals', c_uint * 2),
-]
-__tss_t = c_uint
-__thrd_t = c_ulong
-class __once_flag(Structure):
- pass
-__once_flag._fields_ = [
- ('__data', c_int),
-]
-__u_char = c_ubyte
-__u_short = c_ushort
-__u_int = c_uint
-__u_long = c_ulong
-__int_least8_t = __int8_t
-__uint_least8_t = __uint8_t
-__int_least16_t = __int16_t
-__uint_least16_t = __uint16_t
-__int_least32_t = __int32_t
-__uint_least32_t = __uint32_t
-__int_least64_t = __int64_t
-__uint_least64_t = __uint64_t
-__quad_t = c_long
-__u_quad_t = c_ulong
-__intmax_t = c_long
-__uintmax_t = c_ulong
-__dev_t = c_ulong
-__ino_t = c_ulong
-__ino64_t = c_ulong
-__mode_t = c_uint
-__nlink_t = c_ulong
-__off_t = c_long
-__off64_t = c_long
-class __fsid_t(Structure):
- pass
-__fsid_t._fields_ = [
- ('__val', c_int * 2),
-]
-__clock_t = c_long
-__rlim_t = c_ulong
-__rlim64_t = c_ulong
-__id_t = c_uint
-__time_t = c_long
-__useconds_t = c_uint
-__suseconds_t = c_long
-__suseconds64_t = c_long
-__daddr_t = c_int
-__key_t = c_int
-__clockid_t = c_int
-__timer_t = c_void_p
-__blksize_t = c_long
-__blkcnt_t = c_long
-__blkcnt64_t = c_long
-__fsblkcnt_t = c_ulong
-__fsblkcnt64_t = c_ulong
-__fsfilcnt_t = c_ulong
-__fsfilcnt64_t = c_ulong
-__fsword_t = c_long
-__ssize_t = c_long
-__syscall_slong_t = c_long
-__syscall_ulong_t = c_ulong
-__loff_t = __off64_t
-__caddr_t = STRING
-__intptr_t = c_long
-__sig_atomic_t = c_int
-class __sigset_t(Structure):
- pass
-__sigset_t._fields_ = [
- ('__val', c_ulong * 16),
-]
-clock_t = __clock_t
-clockid_t = __clockid_t
-sigset_t = __sigset_t
-iovec._fields_ = [
- ('iov_base', c_void_p),
- ('iov_len', size_t),
-]
-class osockaddr(Structure):
- pass
-osockaddr._fields_ = [
- ('sa_family', c_ushort),
- ('sa_data', c_ubyte * 14),
-]
-class timespec(Structure):
- pass
-timespec._fields_ = [
- ('tv_sec', __time_t),
- ('tv_nsec', __syscall_slong_t),
-]
-class timeval(Structure):
- pass
-timeval._fields_ = [
- ('tv_sec', __time_t),
- ('tv_usec', __suseconds_t),
-]
-time_t = __time_t
-timer_t = __timer_t
-class __kernel_fd_set(Structure):
- pass
-__kernel_fd_set._fields_ = [
- ('fds_bits', c_ulong * 16),
-]
-__kernel_sighandler_t = CFUNCTYPE(None, c_int)
-__kernel_key_t = c_int
-__kernel_mqd_t = c_int

-# values for unnamed enumeration
+struct_gsm_mncc_progress._pack_ = 1 # source:False
+struct_gsm_mncc_progress._fields_ = [
+ ('coding', ctypes.c_int32),
+ ('location', ctypes.c_int32),
+ ('descr', ctypes.c_int32),
+]

-# values for unnamed enumeration
-in_port_t = uint16_t
+class struct_gsm_mncc_facility(Structure):
+ pass

-# values for unnamed enumeration
-class in6_addr(Structure):
- pass
-class N8in6_addr4DOT_24E(Union):
- pass
-N8in6_addr4DOT_24E._fields_ = [
- ('__u6_addr8', uint8_t * 16),
- ('__u6_addr16', uint16_t * 8),
- ('__u6_addr32', uint32_t * 4),
+struct_gsm_mncc_facility._pack_ = 1 # source:False
+struct_gsm_mncc_facility._fields_ = [
+ ('len', ctypes.c_int32),
+ ('info', ctypes.c_char * 128),
]
-in6_addr._fields_ = [
- ('__in6_u', N8in6_addr4DOT_24E),
-]
-class sockaddr_in(Structure):
- pass
-sockaddr_in._fields_ = [
- ('sin_family', sa_family_t),
- ('sin_port', in_port_t),
- ('sin_addr', in_addr),
- ('sin_zero', c_ubyte * 8),
-]
-class sockaddr_in6(Structure):
- pass
-sockaddr_in6._fields_ = [
- ('sin6_family', sa_family_t),
- ('sin6_port', in_port_t),
- ('sin6_flowinfo', uint32_t),
- ('sin6_addr', in6_addr),
- ('sin6_scope_id', uint32_t),
-]
-class ip_mreq(Structure):
- pass
-ip_mreq._fields_ = [
- ('imr_multiaddr', in_addr),
- ('imr_interface', in_addr),
-]
-class ip_mreq_source(Structure):
- pass
-ip_mreq_source._fields_ = [
- ('imr_multiaddr', in_addr),
- ('imr_interface', in_addr),
- ('imr_sourceaddr', in_addr),
-]
-class ipv6_mreq(Structure):
- pass
-ipv6_mreq._fields_ = [
- ('ipv6mr_multiaddr', in6_addr),
- ('ipv6mr_interface', c_uint),
-]
-class group_req(Structure):
- pass
-group_req._fields_ = [
- ('gr_interface', uint32_t),
- ('gr_group', sockaddr_storage),
-]
-class group_source_req(Structure):
- pass
-group_source_req._fields_ = [
- ('gsr_interface', uint32_t),
- ('gsr_group', sockaddr_storage),
- ('gsr_source', sockaddr_storage),
-]
-class ip_msfilter(Structure):
- pass
-ip_msfilter._fields_ = [
- ('imsf_multiaddr', in_addr),
- ('imsf_interface', in_addr),
- ('imsf_fmode', uint32_t),
- ('imsf_numsrc', uint32_t),
- ('imsf_slist', in_addr * 1),
-]
-class group_filter(Structure):
- pass
-group_filter._fields_ = [
- ('gf_interface', uint32_t),
- ('gf_group', sockaddr_storage),
- ('gf_fmode', uint32_t),
- ('gf_numsrc', uint32_t),
- ('gf_slist', sockaddr_storage * 1),
-]
-class in6_pktinfo(Structure):
- pass
-in6_pktinfo._fields_ = [
- ('ipi6_addr', in6_addr),
- ('ipi6_ifindex', c_uint),
-]
-class ip6_mtuinfo(Structure):
- pass
-ip6_mtuinfo._fields_ = [
- ('ip6m_addr', sockaddr_in6),
- ('ip6m_mtu', uint32_t),
-]
-int_least8_t = __int_least8_t
-int_least16_t = __int_least16_t
-int_least32_t = __int_least32_t
-int_least64_t = __int_least64_t
-uint_least8_t = __uint_least8_t
-uint_least16_t = __uint_least16_t
-uint_least32_t = __uint_least32_t
-uint_least64_t = __uint_least64_t
-int_fast8_t = c_byte
-int_fast16_t = c_long
-int_fast32_t = c_long
-int_fast64_t = c_long
-uint_fast8_t = c_ubyte
-uint_fast16_t = c_ulong
-uint_fast32_t = c_ulong
-uint_fast64_t = c_ulong
-intptr_t = c_long
-uintptr_t = c_ulong
-intmax_t = __intmax_t
-uintmax_t = __uintmax_t
-__fd_mask = c_long
-class fd_set(Structure):
- pass
-fd_set._fields_ = [
- ('fds_bits', __fd_mask * 16),
-]
-fd_mask = __fd_mask

-# values for unnamed enumeration
-class mmsghdr(Structure):
+class struct_gsm_mncc_ssversion(Structure):
pass
-mmsghdr._fields_ = [
- ('msg_hdr', msghdr),
- ('msg_len', c_uint),
+
+struct_gsm_mncc_ssversion._pack_ = 1 # source:False
+struct_gsm_mncc_ssversion._fields_ = [
+ ('len', ctypes.c_int32),
+ ('info', ctypes.c_char * 128),
]
-u_char = __u_char
-u_short = __u_short
-u_int = __u_int
-u_long = __u_long
-quad_t = __quad_t
-u_quad_t = __u_quad_t
-fsid_t = __fsid_t
-loff_t = __loff_t
-ino_t = __ino_t
-ino64_t = __ino64_t
-dev_t = __dev_t
-mode_t = __mode_t
-nlink_t = __nlink_t
-off_t = __off_t
-off64_t = __off64_t
-id_t = __id_t
-ssize_t = __ssize_t
-daddr_t = __daddr_t
-caddr_t = __caddr_t
-key_t = __key_t
-useconds_t = __useconds_t
-suseconds_t = __suseconds_t
-ulong = c_ulong
-ushort = c_ushort
-uint = c_uint
-u_int8_t = __uint8_t
-u_int16_t = __uint16_t
-u_int32_t = __uint32_t
-u_int64_t = __uint64_t
-register_t = c_long
-blksize_t = __blksize_t
-blkcnt_t = __blkcnt_t
-fsblkcnt_t = __fsblkcnt_t
-fsfilcnt_t = __fsfilcnt_t
-blkcnt64_t = __blkcnt64_t
-fsblkcnt64_t = __fsblkcnt64_t
-fsfilcnt64_t = __fsfilcnt64_t
-pthread_attr_t._fields_ = [
- ('__size', c_char * 56),
- ('__align', c_long),
+
+class struct_gsm_mncc_cccap(Structure):
+ pass
+
+struct_gsm_mncc_cccap._pack_ = 1 # source:False
+struct_gsm_mncc_cccap._fields_ = [
+ ('dtmf', ctypes.c_int32),
+ ('pcp', ctypes.c_int32),
]
-__all__ = ['gsm_mncc_number', 'GSM48_BCAP_ITCAP_OTHER',
- 'SOL_PPPOL2TP', 'MNCC_SETUP_CNF', '__pthread_mutex_s',
- 'socklen_t', 'int_fast32_t', 'INT_FAST64_WIDTH',
- 'SO_RCVBUF', 'MNCC_REL_CNF', 'MSG_DONTROUTE',
- 'IPV6_FREEBIND', '_ATFILE_SOURCE', 'IP_RECVFRAGSIZE',
- '__kernel_gid16_t', 'MNCC_RTP_CREATE', 'SO_PASSCRED',
- 'GSM48_BCAP_TMOD_PACKET', '__once_flag', 'uint8_t',
- 'gsm_mncc_progress', 'IP_PASSSEC', '__kernel_size_t',
- 'MNCC_FACILITY_IND', 'IPV6_DSTOPTS',
- 'GSM48_BCAP_ITCAP_RESERVED', 'IPPORT_ROUTESERVER',
- '__SIZEOF_PTHREAD_CONDATTR_T', 'SOL_AAL',
- 'SO_TIMESTAMPING_NEW', '__kernel_daddr_t',
- '_BITS_PTHREADTYPES_COMMON_H', '__pthread_internal_list',
- 'INT_FAST16_MIN', 'MSG_CTRUNC', 'IPPROTO_RSVP',
- 'GSM_MNCC_BCAP_UNR_DIG', 'SO_OOBINLINE', 'IP_RECVERR',
- 'IN_CLASSA_HOST', 'SOCK_RDM', 'IPPROTO_AH',
- '__time_t_defined', 'INT_LEAST16_MAX', '__NFDBITS',
- 'in_port_t', 'MSG_RST', 'IPPORT_MTP', 'IPPORT_TTYLINK',
- 'GSM48_BCAP_TR_RLP', 'IPV6_RECVFRAGSIZE', '_POSIX_SOURCE',
- 'uint_fast16_t', 'in_pktinfo', 'PF_ISDN',
- 'SO_SELECT_ERR_QUEUE', '__ssize_t', '__kernel_loff_t',
- 'N16__pthread_cond_s3DOT_33DOT_4E', 'fsfilcnt_t',
- '__off_t', 'INT_LEAST8_MIN', 'MNCC_REL_IND', '__uint64_t',
- 'INT_FAST64_MIN', 'timespec', 'INT16_WIDTH', '__off64_t',
- 'SOL_CAIF', 'SO_MARK', 'IPV6_HOPLIMIT', 'ucred',
- 'MSG_NOSIGNAL', '__USE_POSIX199309', 'MNCC_RTP_CONNECT',
- '__clockid_t', 'INT_LEAST16_WIDTH', 'osockaddr',
- 'IPPROTO_RAW', 'SOL_IUCV', 'SO_BROADCAST',
- 'GSM48_BCAP_SA_I440_I450', '__GLIBC_USE_DEPRECATED_SCANF',
- 'id_t', 'MSG_TRYHARD', '__USE_ISOCXX11', 'SO_DEBUG',
- 'MNCC_CALL_CONF_IND', 'PF_SECURITY', 'MNCC_F_USERUSER',
- 'in_addr', 'IP_MULTICAST_ALL', 'SOCK_CLOEXEC', 'PF_ALG',
- '__SIZEOF_PTHREAD_BARRIER_T', 'INTMAX_WIDTH',
- 'IPPROTO_ENCAP', 'IPPROTO_ESP', 'GSM_MNCC_BCAP_SPEECH',
- 'IP_DEFAULT_MULTICAST_TTL', 'SHUT_RD', 'SOL_RDS',
- 'PF_IUCV', 'ip_mreq_source', 'MCAST_JOIN_SOURCE_GROUP',
- 'SCM_RIGHTS', 'INADDR_NONE', 'IPV6_RECVPATHMTU',
- 'IPV6_RTHDR', '__kernel_fsid_t', 'GSM48_BCAP_PAR_ZERO',
- 'IPV6_V6ONLY', '__kernel_sighandler_t',
- '_BITS_ENDIANNESS_H', 'uint_fast8_t', 'IPV6_PMTUDISC_DO',
- 'IP_MTU', 'GSM48_BCAP_RA_OTHER', 'IPPROTO_TCP', 'INT8_MAX',
- '__osockaddr_defined', '__USE_KERNEL_IPV6_DEFS',
- 'gsm48_bcap_rrq', '__int16_t', 'ipv6_mreq',
- 'SO_INCOMING_NAPI_ID', 'timer_t', '__GLIBC_USE_LIB_EXT2',
- 'INET_ADDRSTRLEN', 'SO_DETACH_REUSEPORT_BPF',
- 'MNCC_USERINFO_REQ', 'u_quad_t',
- 'N16__pthread_cond_s3DOT_3E', '__kernel_old_uid_t',
- '__loff_t', 'INADDR_BROADCAST', 'IPV6_RECVDSTOPTS',
- 'gsm48_bcap_transp', '__pthread_cond_s', 'INTPTR_MIN',
- '__int32_t', 'PF_MPLS', 'uint_least32_t', 'IPPROTO_MPTCP',
- '__BIG_ENDIAN', '_ENDIAN_H', 'INADDR_ALLSNOOPERS_GROUP',
- '__kernel_uid16_t', 'FIOGETOWN', 'MCAST_JOIN_GROUP',
- '__USE_FORTIFY_LEVEL', '__int8_t', 'IPV6_ORIGDSTADDR',
- '__fsblkcnt64_t', 'PTRDIFF_MAX', '__USE_XOPEN2K8',
- 'MSG_EOR', 'INT32_MIN', '__kernel_time64_t', 'MSG_SYN',
- '__USE_XOPEN_EXTENDED', 'IPPROTO_MH', 'MNCC_F_FACILITY',
- 'INT_LEAST32_MAX', 'pid_t', 'IP_PKTINFO', 'linger',
- 'UINT32_WIDTH', '__fsfilcnt64_t', 'PF_BLUETOOTH',
- 'PF_IRDA', 'SO_DONTROUTE', 'pthread_key_t',
- 'IPV6_2292RTHDR', 'MNCC_REJ_IND', 'IPPORT_TFTP',
- 'PF_APPLETALK', 'group_req', 'SO_TYPE', 'IPPORT_NETSTAT',
- 'off_t', 'IPV6_PMTUDISC_PROBE', 'GSM48_BCAP_UR_300',
- '__fsblkcnt_t', 'PF_VSOCK', 'MNCC_SETUP_COMPL_REQ',
- 'IPV6_DONTFRAG', 'SOL_PACKET', 'MNCC_START_DTMF_IND',
- 'sa_family_t', 'UINT_FAST16_MAX',
- 'N16__pthread_cond_s3DOT_53DOT_6E', '__WORDSIZE',
- 'GSM_TCHF_FRAME', 'MNCC_FRAME_DROP', 'SOL_RXRPC',
- 'INT_FAST8_MIN', 'time_t', '_XOPEN_SOURCE', 'u_short',
- 'SO_KEEPALIVE', 'cmsghdr', 'WINT_MIN', 'key_t',
- '__USE_ISOC95', 'IN_CLASSA_MAX', 'MNCC_ALERT_IND',
- 'PF_X25', 'IPPORT_CMDSERVER', 'sockaddr_in6',
- 'IN_CLASSC_NSHIFT', 'IP_PMTUDISC_DO', '__GLIBC__',
- 'SO_LOCK_FILTER', 'N8in6_addr4DOT_24E', '__USE_ISOC99',
- 'IP_UNICAST_IF', 'PF_AX25', 'MNCC_F_SSVERSION',
- '__pthread_internal_slist', 'SO_PASSSEC',
- 'IPV6_MULTICAST_LOOP', '__kernel_uid_t', 'SOL_TLS',
- 'ip_mreq', '__clock_t', 'IPV6_HOPOPTS', 'SOL_LLC',
- '__fsfilcnt_t', 'PF_WANPIPE', 'IPV6_RECVERR',
- 'INT_LEAST8_MAX', 'IPPORT_RESERVED', 'SOL_NETBEUI',
- 'SO_BUSY_POLL', '__sig_atomic_t', '__time_t',
- 'IN_CLASSB_HOST', 'size_t', '__USE_XOPEN', 'PF_ROSE',
- 'IPV6_ADDRFORM', 'SOCK_SEQPACKET', 'MNCC_PROGRESS_REQ',
- 'PF_SMC', '__USE_POSIX2', 'MNCC_NOTIFY_IND',
- 'INT_LEAST64_WIDTH', 'GSM48_BCAP_TR_RLP_PREF',
- '__iovec_defined', 'blkcnt_t', 'IPV6_RECVRTHDR',
- '__syscall_slong_t', 'blkcnt64_t', '__timer_t', 'SOL_IRDA',
- 'MNCC_LCHAN_MODIFY', 'GSM_MAX_FACILITY', 'INT64_WIDTH',
- 'IP_PMTUDISC', 'GSM48_BCAP_SA_X21', 'uint_fast64_t',
- 'SO_TIMESTAMPNS_NEW', 'SO_PRIORITY', 'UINT64_MAX',
- 'MSG_TRUNC', 'u_char', 'IN_CLASSB_MAX', 'SO_LINGER',
- 'uid_t', '__USE_ATFILE', 'INTMAX_MAX', 'u_int16_t',
- 'PF_CAIF', 'IP_MAX_MEMBERSHIPS', 'quad_t',
- '__GLIBC_USE_IEC_60559_FUNCS_EXT', 'UINT_LEAST16_WIDTH',
- 'INTMAX_MIN', 'MSG_OOB', 'GSM48_BCAP_UR_12000',
- 'GSM48_BCAP_PAR_EVEN', 'SO_SECURITY_ENCRYPTION_NETWORK',
- 'IP_RECVOPTS', 'UINT_LEAST8_WIDTH', 'UINT_FAST8_MAX',
- 'IPPROTO_IP', 'N19gsm_mncc_bearer_cap4DOT_25E',
- 'IP_RECVTOS', 'GSM48_BCAP_UR_1200', 'pthread_spinlock_t',
- 'GSM48_BCAP_MT_V26ter', '__kernel_fd_set',
- 'IPPORT_USERRESERVED', 'MCAST_LEAVE_SOURCE_GROUP',
- 'SO_PEERNAME', '__BITS_PER_LONG', '_BITS_STDINT_INTN_H',
- 'INT_FAST64_MAX', 'SOCK_STREAM', '__fd_mask',
- 'IPV6_RECVPKTINFO', 'MNCC_BRIDGE',
- 'GSM48_BCAP_CODING_GSM_STD', 'clock_t', 'MNCC_F_CALLED',
- 'IPV6_RTHDR_STRICT', 'IPPROTO_PUP', 'int_fast64_t',
- 'IPV6_RECVHOPOPTS', 'WINT_MAX', '_BITS_WCHAR_H',
- '__GLIBC_MINOR__', '__GLIBC_USE_IEC_60559_BFP_EXT_C2X',
- 'IPV6_IPSEC_POLICY', 'SO_ZEROCOPY',
- '__SOCKADDR_COMMON_SIZE', '__clockid_t_defined',
- 'SO_ACCEPTCONN', 'IPPORT_SUPDUP', 'IP_MULTICAST_LOOP',
- 'IPV6_AUTOFLOWLABEL', 'IPPORT_DISCARD',
- 'GSM48_BCAP_PAR_ODD', 'uint_least8_t', 'GSM48_BCAP_RA_X31',
- 'gsm_mncc_bearer_cap', 'IPV6_MINHOPCOUNT', 'fd_mask',
- 'IP_OPTIONS', 'SO_RCVLOWAT', 'SHUT_RDWR',
- 'INT_FAST8_WIDTH', '__WORDSIZE_TIME64_COMPAT32',
- 'gsm_data_frame', 'IN_CLASSB_NSHIFT', '_SYS_TYPES_H',
- 'SO_MEMINFO', 'PF_NETBEUI', '__HAVE_GENERIC_SELECTION',
- 'IP_TOS', 'GSM48_BCAP_MT_NONE', '__kernel_ulong_t',
- 'N8gsm_mncc4DOT_27E', 'IP_BIND_ADDRESS_NO_PORT',
- 'MSG_WAITALL', '__USE_GNU',
- '__GLIBC_USE_IEC_60559_FUNCS_EXT_C2X', '__pthread_list_t',
- 'INT8_MIN', 'pthread_attr_t', 'GSM48_BCAP_RA_NONE',
- '__ino_t', 'SIOCGSTAMP_OLD', '__rlim64_t', 'ino_t',
- 'MNCC_MODIFY_IND', 'SOL_IPV6', 'GSM48_BCAP_SV_EFR',
- '_POSIX_C_SOURCE', 'IPPROTO_ICMP', 'MNCC_F_SIGNAL',
- 'IPPROTO_HOPOPTS', 'IPPORT_DAYTIME', 'gsm48_bcap_itcap',
- '__blksize_t', '__SIZEOF_PTHREAD_MUTEXATTR_T',
- 'SO_SNDTIMEO_OLD', '__pthread_slist_t',
- 'IPV6_2292PKTOPTIONS', 'UINT_LEAST64_WIDTH',
- 'MNCC_DISC_IND', '_DEFAULT_SOURCE', 'IPPROTO_IDP',
- 'SO_CNX_ADVICE', 'gsm_mncc_useruser', 'SOCK_DGRAM',
- 'PF_UNSPEC', 'GSM48_BCAP_RA_V110_X30', 'ino64_t',
- 'IPPORT_WHOSERVER', 'UINT_LEAST64_MAX', 'IP_BLOCK_SOURCE',
- 'gsm48_bcap_coding', 'UINT_FAST64_MAX',
- 'IP_PMTUDISC_INTERFACE', '__uint8_t', 'nlink_t',
- '__SIZEOF_PTHREAD_RWLOCK_T', 'IP_XFRM_POLICY',
- '_THREAD_SHARED_TYPES_H', 'SOL_PNPIPE', 'IP_TTL',
- '__caddr_t', '_SYS_SOCKET_H', '__blkcnt64_t', 'PF_TIPC',
- 'MNCC_MODIFY_CNF', 'gsm_mncc_rtp', 'GSM_MNCC_BCAP_AUDIO',
- '__kernel_suseconds_t', 'GSM48_BCAP_RRQ_FR_ONLY',
- '__USE_POSIX199506', '__int_least64_t',
- 'IPPORT_NAMESERVER', 'INT_LEAST64_MIN', '__USE_LARGEFILE',
- '__SIZEOF_PTHREAD_COND_T', 'PTRDIFF_MIN', '_FEATURES_H',
- 'GSM_MNCC_BCAP_OTHER_ITC', '__kernel_long_t', 'int16_t',
- 'MSG_BATCH', 'SIG_ATOMIC_WIDTH', 'SOL_ATM',
- 'MNCC_MODIFY_REQ', '_BITS_TYPES_H',
- 'IP_DEFAULT_MULTICAST_LOOP', '__kernel_ptrdiff_t',
- 'IN_CLASSA_NSHIFT', 'group_filter', 'IP_MSFILTER',
- 'GSM48_BCAP_TMOD_CIRCUIT', 'PF_DECnet', '__u_int',
- '__kernel_ipc_pid_t', 'INT_LEAST8_WIDTH', 'IP_MINTTL',
- 'MSG_DONTWAIT', 'MNCC_MODIFY_REJ', 'PF_QIPCRTR',
- '__kernel_off_t', 'IP_PMTUDISC_DONT', 'GSM48_BCAP_IR_8k',
- 'intptr_t', 'GSM48_BCAP_ITCAP_SPEECH',
- '_XOPEN_SOURCE_EXTENDED', 'SIOCGSTAMPNS_OLD', '__int64_t',
- 'IN_LOOPBACKNET', '_BITS_TIME64_H', 'PF_LOCAL',
- 'IPPROTO_SCTP', '__u_char', '__id_t', '__gid_t',
- 'MNCC_RETRIEVE_CNF', 'MNCC_F_EMERGENCY', 'IPPROTO_MTP',
- 'ssize_t', 'ulong', 'GSM48_BCAP_ITCAP_UNR_DIG_INF',
- 'MNCC_REJ_REQ', 'IPV6_TCLASS', 'INT_FAST8_MAX',
- 'UINT64_WIDTH', 'SO_BINDTOIFINDEX', '__int_least8_t',
- 'MSG_MORE', 'SOL_SOCKET', 'INTPTR_MAX',
- 'GSM48_BCAP_SV_AMR_H', 'IPV6_2292DSTOPTS',
- 'MNCC_F_CALLING', 'fsblkcnt_t', 'IPPROTO_UDP',
- 'GSM48_BCAP_SV_AMR_F', 'MNCC_CALL_PROC_REQ', 'suseconds_t',
- 'IPPORT_RJE', 'IPPORT_ECHO', '__quad_t', 'SIOCGPGRP',
- '_BITS_STDINT_UINTN_H', 'dev_t', '__uid_t',
- 'IP_ADD_MEMBERSHIP', 'GSM_BAD_FRAME',
- '__GLIBC_USE_DEPRECATED_GETS',
- 'GSM48_BCAP_ITCAP_3k1_AUDIO', '__uint16_t', 'PF_NETROM',
- '__glibc_c99_flexarr_available', 'GSM48_BCAP_PAR_ONE',
- 'IPPROTO_TP', 'GSM48_BCAP_RRQ_DUAL_FR', 'IPPROTO_ETHERNET',
- 'GSM48_BCAP_UR_9600', 'PF_ECONET', '__GNU_LIBRARY__',
- '_BITS_TYPESIZES_H', '__kernel_gid32_t', 'mode_t',
- 'IP_RECVTTL', '__USE_LARGEFILE64', '__kernel_old_time_t',
- 'MNCC_STOP_DTMF_RSP', 'SO_ERROR', 'IPPORT_TELNET', 'uint',
- 'MCAST_LEAVE_GROUP', '_LARGEFILE_SOURCE',
- 'IPV6_RECVHOPLIMIT', 'uintptr_t', 'UINT8_MAX',
- '__kernel_mode_t', 'SOCK_DCCP', 'IP_ORIGDSTADDR',
- 'UINTMAX_MAX', '__LITTLE_ENDIAN', 'PF_XDP',
- '__kernel_old_dev_t', '__kernel_pid_t', 'int_fast8_t',
- 'GSM_TCHF_FRAME_EFR', 'IN_CLASSA_NET', '__tss_t',
- 'SOL_TIPC', 'IPV6_MULTICAST_IF', 'IPPROTO_UDPLITE',
- 'MNCC_SETUP_COMPL_IND', 'INT32_MAX', 'GSM48_BCAP_IR_16k',
- 'gsm48_bcap_speech_ver', 'IP_DROP_SOURCE_MEMBERSHIP',
- 'INT64_MIN', 'IPPROTO_MAX', 'ip_mreqn', 'MNCC_HOLD_IND',
- 'IP_ADD_SOURCE_MEMBERSHIP', 'MNCC_HOLD_CNF', 'SOL_NFC',
- '__thrd_t', 'SO_REUSEADDR', '__fsid_t', 'SO_BINDTODEVICE',
- 'GSM48_BCAP_SA_X32', 'PF_PPPOX', 'SO_BSDCOMPAT',
- 'int_fast16_t', '__kernel_clockid_t', 'IPPORT_WHOIS',
- '__RLIM_T_MATCHES_RLIM64_T', '__kernel_old_gid_t',
- 'IN_CLASSC_HOST', 'PF_RXRPC', 'sockaddr_in',
- '__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI', 'UINT_LEAST32_MAX',
- '__sigset_t', '_BITS_PTHREADTYPES_ARCH_H',
- 'GSM48_BCAP_TR_TRANSP', 'SO_SNDBUF', '__suseconds64_t',
- 'SO_PEEK_OFF', 'ip6_mtuinfo', 'SOCK_NONBLOCK',
- 'WINT_WIDTH', 'UINT32_MAX', 'MNCC_F_PROGRESS',
- 'MNCC_HOLD_REJ', 'IPPROTO_ICMPV6', 'IPV6_UNICAST_HOPS',
- 'MNCC_REL_REQ', 'SO_ATTACH_REUSEPORT_CBPF',
- 'GSM48_BCAP_PAR_NONE', 'INT64_MAX', 'MSG_ERRQUEUE',
- '__USE_XOPEN2K', 'MNCC_SETUP_REQ', 'IPV6_MTU_DISCOVER',
- 'IPV6_RTHDRDSTOPTS', 'IPPROTO_IGMP', 'IP_FREEBIND',
- 'IP_DROP_MEMBERSHIP', 'INT8_WIDTH', '__FD_SETSIZE',
- 'INT_LEAST16_MIN', 'GSM48_BCAP_MT_V22bis', 'SIOCATMARK',
- 'IPV6_PKTINFO', 'IPPROTO_IPV6', 'UINTMAX_WIDTH', 'PF_CAN',
- 'MNCC_RTP_FREE', 'PF_SNA', 'uint64_t', 'IP_HDRINCL',
- 'SOL_DCCP', 'SO_NO_CHECK', '__uint_least8_t', '__blkcnt_t',
- 'gsm_mncc_cccap', 'clockid_t', '__GLIBC_USE_ISOC2X',
- 'SOL_ICMPV6', 'UINTPTR_MAX', 'IPV6_ROUTER_ALERT',
- 'IPPROTO_DCCP', 'msghdr', 'gsm48_bcap_user_rate',
- 'uint16_t', '__kernel_mqd_t', 'GSM48_BCAP_SV_FR',
- '__SIZEOF_PTHREAD_BARRIERATTR_T', 'INT16_MIN',
- 'IP_PMTUDISC_PROBE', 'SHUT_WR', 'IP_ROUTER_ALERT',
- 'int32_t', 'off64_t', 'GSM_MAX_USERUSER', 'UINT8_WIDTH',
- 'IN_CLASSC_NET', 'INT_LEAST64_MAX',
- 'GSM48_BCAP_SA_X28_DP_IN', 'GSM_MNCC_BCAP_FAX_G3',
- 'PF_INET', 'IPV6_MULTICAST_HOPS', '__intptr_t', 'PF_IPX',
- 'MNCC_FACILITY_REQ', 'PF_INET6', 'group_source_req',
- 'MNCC_RETRIEVE_IND', 'SOL_DECNET', 'PF_KCM', 'in6_addr',
- 'IPPROTO_EGP', 'MNCC_F_CONNECTED', 'IN_CLASSB_NET',
- 'gsm48_bcap_tmod', 'GSM48_BCAP_SV_AMR_OHW',
- 'sockaddr_storage', '__PTHREAD_MUTEX_HAVE_PREV',
- 'SIG_ATOMIC_MAX', 'IPV6_UNICAST_IF', 'IP_PMTUDISC_OMIT',
- '_BITS_BYTESWAP_H', 'MCAST_EXCLUDE', 'IPV6_PMTUDISC_DONT',
- 'GSM48_BCAP_SV_HR', 'gsm48_bcap_sig_access', '__dev_t',
- 'GSM48_BCAP_ITCAP_FAX_G3', 'IP_RETOPTS', 'u_int8_t',
- 'UINT16_MAX', 'GSM48_BCAP_MT_V32', 'SOL_ALG',
- '_SS_PADSIZE', 'PF_IEEE802154', '__suseconds_t',
- 'SO_TIMESTAMPING_OLD', 'u_long', 'SO_REUSEPORT',
- 'MNCC_USERINFO_IND', 'UINT_FAST32_MAX', 'IP_IPSEC_POLICY',
- 'gsm_mncc_hello', 'SO_SNDTIMEO_NEW', 'SO_TXTIME',
- 'IPV6_PMTUDISC_OMIT', 'SIG_ATOMIC_MIN', 'ushort',
- 'SOL_XDP', 'IPV6_PATHMTU', 'gsm_mncc_facility',
- 'GSM_MNCC_BCAP_RESERVED', 'PF_NETLINK', 'uintmax_t',
- '__INO_T_MATCHES_INO64_T', 'SO_PEERCRED', 'PF_MAX',
- 'SO_RCVBUFFORCE', 'IPV6_2292PKTINFO', 'IP_TRANSPARENT',
- 'UINT_FAST64_WIDTH', 'SO_SECURITY_AUTHENTICATION',
- 'pthread_t', '__rlim_t', 'INT_FAST16_MAX',
- 'SO_RCVTIMEO_OLD', '__STATFS_MATCHES_STATFS64', 'SO_NOFCS',
- 'IPPROTO_DSTOPTS', 'FIOSETOWN', '__USE_XOPEN2K8XSI',
- 'IP_UNBLOCK_SOURCE', 'fsblkcnt64_t', '__intmax_t',
- 'uint_least16_t', 'MSG_WAITFORONE', 'SO_SNDLOWAT',
- '_SYS_CDEFS_H', 'ip_opts', '__pthread_rwlock_arch_t',
- 'MNCC_MODIFY_RSP', '__kernel_uid32_t', 'IPPROTO_ROUTING',
- '__SIZEOF_PTHREAD_ATTR_T', 'SO_PROTOCOL', 'SIZE_MAX',
- 'caddr_t', 'UINT_LEAST16_MAX', 'SOL_KCM',
- 'SO_TIMESTAMP_OLD', 'SO_ATTACH_FILTER',
- 'GSM48_BCAP_SA_X28_NDP', '__int_least16_t',
- 'UINT_LEAST32_WIDTH', '__uintmax_t', 'SO_INCOMING_CPU',
- 'in_addr_t', 'INT_FAST32_MAX', 'SOL_X25',
- 'MNCC_F_BEARER_CAP', 'in6_pktinfo', 'IPV6_RTHDR_LOOSE',
- 'PF_LLC', 'MCAST_UNBLOCK_SOURCE', 'GSM_TCHH_FRAME',
- 'uint32_t', 'gsm48_bcap_ra', 'gsm48_bcap_interm_rate',
- '__have_pthread_attr_t', '_STRUCT_TIMESPEC',
- 'GSM48_BCAP_SA_X28_DP_UN', 'IPPROTO_MPLS',
- '__USE_XOPEN2KXSI', 'gsm_mncc', 'IPV6_LEAVE_ANYCAST',
- '__GLIBC_USE_IEC_60559_BFP_EXT', 'MSG_PEEK',
- 'MNCC_F_CAUSE', 'SO_ATTACH_BPF', 'pthread_once_t',
- 'PF_RDS', 'PF_ATMSVC', '__kernel_ino_t', 'UINT16_WIDTH',
- 'timeval', 'MNCC_RETRIEVE_REJ', 'IP_MTU_DISCOVER',
- 'mmsghdr', '__uint32_t', 'INADDR_ALLRTRS_GROUP',
- '__uint_least16_t', 'IPPROTO_IPIP', 'IPV6_HDRINCL',
- 'GSM_TCH_FRAME_AMR', 'GSM48_BCAP_SV_AMR_OFW',
- 'GSM48_BCAP_MT_UNDEF', 'IPPORT_EXECSERVER',
- 'SO_MAX_PACING_RATE', '_BITS_UINTN_IDENTITY_H',
- '__ino64_t', '__u_quad_t', 'IPPROTO_COMP', '__mode_t',
- 'IPV6_AUTHHDR', '__u_short', 'loff_t', 'IPPROTO_FRAGMENT',
- 'iovec', 'blksize_t', '__kernel_time_t', '__int_least32_t',
- 'N16__pthread_cond_s3DOT_5E', 'SO_PEERSEC',
- 'gsm_mncc_ssversion', 'u_int32_t',
- 'SCM_TIMESTAMPING_OPT_STATS', 'GSM48_BCAP_TR_TR_PREF',
- 'MNCC_START_DTMF_REJ', 'GSM48_BCAP_MT_AUTO_1',
- 'register_t', '__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64',
- '_SYS_SELECT_H', 'MNCC_SOCK_VERSION', 'MCAST_BLOCK_SOURCE',
- 'SOL_BLUETOOTH', 'IPPORT_SMTP', '_ISOC95_SOURCE',
- 'SO_SNDBUFFORCE', '_ISOC99_SOURCE', '__nlink_t',
- 'MCAST_INCLUDE', '__kernel_ssize_t', 'MNCC_SETUP_RSP',
- 'SOCK_RAW', 'fd_set', 'PF_PACKET', 'PF_ATMPVC',
- 'IPPORT_EFSSERVER', 'gsm_mncc_cause', '__kernel_caddr_t',
- '__clock_t_defined', '__pid_t', 'GSM48_BCAP_UR_2400',
- 'INADDR_ALLHOSTS_GROUP', '__socket_type', 'IP_PKTOPTIONS',
- 'PF_NFC', '__SYSCALL_WORDSIZE', 'gid_t', 'IPPROTO_BEETPH',
- '__USE_MISC', 'MSG_CMSG_CLOEXEC', 'MNCC_SOCKET_HELLO',
- '__sigset_t_defined', '__kernel_clock_t', 'fsfilcnt64_t',
- '__timer_t_defined', 'int64_t', 'IPV6_LEAVE_GROUP',
- '__syscall_ulong_t', 'INT32_WIDTH', 'int_least16_t',
- 'SO_TIMESTAMPNS_OLD', 'MCAST_MSFILTER',
- '__BIT_TYPES_DEFINED__', 'SO_BPF_EXTENSIONS',
- 'SO_DETACH_FILTER', '__USE_POSIX', 'GSM48_BCAP_UR_1200_75',
- 'SCM_CREDENTIALS', 'SOMAXCONN', 'SO_RXQ_OVFL', 'sockaddr',
- 'WCHAR_WIDTH', 'IPPORT_FINGER', 'u_int', 'IPV6_MTU',
- '_ISOC2X_SOURCE', 'SO_TIMESTAMP_NEW', 'IP_CHECKSUM',
- 'MNCC_F_KEYPAD', '_SS_SIZE', '_BITS_SOCKADDR_H',
- 'MNCC_F_REDIRECTING', 'IP_PMTUDISC_WANT', '__kernel_gid_t',
- 'GSM48_BCAP_RRQ_DUAL_HR', 'IPV6_ROUTER_ALERT_ISOLATE',
- '__kernel_key_t', 'IPPROTO_GRE', 'INADDR_UNSPEC_GROUP',
- 'SOL_RAW', '_ISOC11_SOURCE', 'ip_msfilter',
- 'IPV6_TRANSPARENT', 'IPV6_2292HOPOPTS', 'uint_least64_t',
- 'INT16_MAX', 'MSG_CONFIRM', 'GSM48_BCAP_UR_4800',
- 'INADDR_LOOPBACK', '__u_long', '__SIZEOF_PTHREAD_MUTEX_T',
- '__USE_UNIX98', 'PF_ASH', 'IPV6_2292HOPLIMIT',
- 'IPPORT_BIFFUDP', 'SCM_TIMESTAMPING_PKTINFO',
- 'UINT_FAST8_WIDTH', '__uint_least32_t', 'u_int64_t',
- 'INADDR_MAX_LOCAL_GROUP', '__daddr_t', 'SOL_IP',
- '__uint_least64_t', 'GSM48_BCAP_SV_AMR_FW',
- 'IPPORT_TIMESERVER', 'IPPORT_FTP', 'SOCK_PACKET',
- 'SO_DOMAIN', 'IPV6_NEXTHOP', '__fsword_t', 'PF_BRIDGE',
- 'gsm48_bcap_parity', 'int8_t', 'INT_LEAST32_MIN',
- 'IPPORT_SYSTAT', 'gsm_mncc_bridge', 'IPV6_RTHDR_TYPE_0',
- 'int_least64_t', 'INADDR_ANY', '_THREAD_MUTEX_INTERNAL_H',
- 'UINT_LEAST8_MAX', 'MSG_PROXY', 'MNCC_DISC_REQ', 'MSG_FIN',
- '__GLIBC_USE_IEC_60559_TYPES_EXT', '__useconds_t',
- 'useconds_t', 'PF_PHONET', 'IPV6_PMTUDISC_WANT',
- 'IPV6_ADDR_PREFERENCES', 'GSM_MAX_SSVERSION',
- 'MNCC_ALERT_REQ', 'MNCC_START_DTMF_RSP',
- 'INET6_ADDRSTRLEN', 'IPV6_JOIN_ANYCAST',
- 'IPPORT_LOGINSERVER', 'sigset_t', 'MSG_ZEROCOPY', 'PF_KEY',
- 'SO_WIFI_STATUS', 'IP_MULTICAST_TTL', 'IPV6_JOIN_GROUP',
- 'IPV6_CHECKSUM', 'INT_FAST32_MIN', 'gsm48_bcap_modem_type',
- 'SO_COOKIE', '__kernel_timer_t', '_STDINT_H',
- 'IPV6_MULTICAST_ALL', 'GSM48_BCAP_MT_V21',
- 'GSM48_BCAP_MT_V22', 'GSM48_BCAP_MT_V23', 'MNCC_SETUP_IND',
- '_BITS_ENDIAN_H', 'MNCC_NOTIFY_REQ', 'daddr_t',
- 'MNCC_STOP_DTMF_IND', '__SIZEOF_PTHREAD_RWLOCKATTR_T',
- '__PDP_ENDIAN', 'SOL_NETLINK', 'IP_NODEFRAG',
- 'IPV6_PMTUDISC_INTERFACE', 'PF_IB', '__key_t', 'fsid_t',
- '_LARGEFILE64_SOURCE', '__OFF_T_MATCHES_OFF64_T',
- 'IPV6_XFRM_POLICY', 'SO_SECURITY_ENCRYPTION_TRANSPORT',
- '_SIGSET_NWORDS', 'MNCC_FRAME_RECV', 'MSG_FASTOPEN',
- 'intmax_t', 'SIOCSPGRP', 'IPV6_RECVTCLASS',
- 'SO_PEERGROUPS', 'IP_MULTICAST_IF', 'int_least32_t',
- 'uint_fast32_t', 'INT_LEAST32_WIDTH', 'IPPROTO_PIM',
- 'IPPROTO_NONE', '__socklen_t', 'SO_RCVTIMEO_NEW',
- 'SO_ATTACH_REUSEPORT_EBPF', '__USE_ISOC11', 'MNCC_F_CCCAP',
- '__timeval_defined', '_NETINET_IN_H',
- 'GSM48_BCAP_SV_AMR_OH', 'int_least8_t']
+
+
+# values for enumeration 'gsm_mncc_bcap'
+gsm_mncc_bcap__enumvalues = {
+ 0: 'GSM_MNCC_BCAP_SPEECH',
+ 1: 'GSM_MNCC_BCAP_UNR_DIG',
+ 2: 'GSM_MNCC_BCAP_AUDIO',
+ 3: 'GSM_MNCC_BCAP_FAX_G3',
+ 5: 'GSM_MNCC_BCAP_OTHER_ITC',
+ 7: 'GSM_MNCC_BCAP_RESERVED',
+}
+GSM_MNCC_BCAP_SPEECH = 0
+GSM_MNCC_BCAP_UNR_DIG = 1
+GSM_MNCC_BCAP_AUDIO = 2
+GSM_MNCC_BCAP_FAX_G3 = 3
+GSM_MNCC_BCAP_OTHER_ITC = 5
+GSM_MNCC_BCAP_RESERVED = 7
+gsm_mncc_bcap = ctypes.c_uint32 # enum
+class struct_gsm_mncc(Structure):
+ pass
+
+class struct_gsm_mncc_clir(Structure):
+ pass
+
+struct_gsm_mncc_clir._pack_ = 1 # source:False
+struct_gsm_mncc_clir._fields_ = [
+ ('sup', ctypes.c_int32),
+ ('inv', ctypes.c_int32),
+]
+
+struct_gsm_mncc._pack_ = 1 # source:False
+struct_gsm_mncc._fields_ = [
+ ('msg_type', ctypes.c_uint32),
+ ('callref', ctypes.c_uint32),
+ ('fields', ctypes.c_uint32),
+ ('bearer_cap', struct_gsm_mncc_bearer_cap),
+ ('called', struct_gsm_mncc_number),
+ ('calling', struct_gsm_mncc_number),
+ ('redirecting', struct_gsm_mncc_number),
+ ('connected', struct_gsm_mncc_number),
+ ('cause', struct_gsm_mncc_cause),
+ ('progress', struct_gsm_mncc_progress),
+ ('useruser', struct_gsm_mncc_useruser),
+ ('facility', struct_gsm_mncc_facility),
+ ('cccap', struct_gsm_mncc_cccap),
+ ('ssversion', struct_gsm_mncc_ssversion),
+ ('clir', struct_gsm_mncc_clir),
+ ('signal', ctypes.c_int32),
+ ('keypad', ctypes.c_int32),
+ ('more', ctypes.c_int32),
+ ('notify', ctypes.c_int32),
+ ('emergency', ctypes.c_int32),
+ ('imsi', ctypes.c_char * 16),
+ ('lchan_type', ctypes.c_ubyte),
+ ('lchan_mode', ctypes.c_ubyte),
+ ('sdp', ctypes.c_char * 1024),
+ ('PADDING_0', ctypes.c_ubyte * 2),
+]
+
+class struct_gsm_data_frame(Structure):
+ pass
+
+struct_gsm_data_frame._pack_ = 1 # source:False
+struct_gsm_data_frame._fields_ = [
+ ('msg_type', ctypes.c_uint32),
+ ('callref', ctypes.c_uint32),
+ ('data', ctypes.c_ubyte * 0),
+]
+
+class struct_gsm_mncc_hello(Structure):
+ pass
+
+struct_gsm_mncc_hello._pack_ = 1 # source:False
+struct_gsm_mncc_hello._fields_ = [
+ ('msg_type', ctypes.c_uint32),
+ ('version', ctypes.c_uint32),
+ ('mncc_size', ctypes.c_uint32),
+ ('data_frame_size', ctypes.c_uint32),
+ ('called_offset', ctypes.c_uint32),
+ ('signal_offset', ctypes.c_uint32),
+ ('emergency_offset', ctypes.c_uint32),
+ ('lchan_type_offset', ctypes.c_uint32),
+]
+
+class struct_gsm_mncc_rtp(Structure):
+ pass
+
+class struct_sockaddr_storage(Structure):
+ pass
+
+struct_sockaddr_storage._pack_ = 1 # source:False
+struct_sockaddr_storage._fields_ = [
+ ('ss_family', ctypes.c_uint16),
+ ('__ss_padding', ctypes.c_char * 118),
+ ('__ss_align', ctypes.c_uint64),
+]
+
+struct_gsm_mncc_rtp._pack_ = 1 # source:False
+struct_gsm_mncc_rtp._fields_ = [
+ ('msg_type', ctypes.c_uint32),
+ ('callref', ctypes.c_uint32),
+ ('addr', struct_sockaddr_storage),
+ ('payload_type', ctypes.c_uint32),
+ ('payload_msg_type', ctypes.c_uint32),
+ ('sdp', ctypes.c_char * 1024),
+]
+
+class struct_gsm_mncc_bridge(Structure):
+ pass
+
+struct_gsm_mncc_bridge._pack_ = 1 # source:False
+struct_gsm_mncc_bridge._fields_ = [
+ ('msg_type', ctypes.c_uint32),
+ ('callref', ctypes.c_uint32 * 2),
+]
+
+__all__ = \
+ ['GSM48_BCAP_CODING_GSM_STD', 'GSM48_BCAP_IR_16k',
+ 'GSM48_BCAP_IR_8k', 'GSM48_BCAP_ITCAP_3k1_AUDIO',
+ 'GSM48_BCAP_ITCAP_FAX_G3', 'GSM48_BCAP_ITCAP_OTHER',
+ 'GSM48_BCAP_ITCAP_RESERVED', 'GSM48_BCAP_ITCAP_SPEECH',
+ 'GSM48_BCAP_ITCAP_UNR_DIG_INF', 'GSM48_BCAP_MT_AUTO_1',
+ 'GSM48_BCAP_MT_NONE', 'GSM48_BCAP_MT_UNDEF', 'GSM48_BCAP_MT_V21',
+ 'GSM48_BCAP_MT_V22', 'GSM48_BCAP_MT_V22bis', 'GSM48_BCAP_MT_V23',
+ 'GSM48_BCAP_MT_V26ter', 'GSM48_BCAP_MT_V32',
+ 'GSM48_BCAP_PAR_EVEN', 'GSM48_BCAP_PAR_NONE',
+ 'GSM48_BCAP_PAR_ODD', 'GSM48_BCAP_PAR_ONE', 'GSM48_BCAP_PAR_ZERO',
+ 'GSM48_BCAP_RA_NONE', 'GSM48_BCAP_RA_OTHER',
+ 'GSM48_BCAP_RA_V110_X30', 'GSM48_BCAP_RA_X31',
+ 'GSM48_BCAP_RRQ_DUAL_FR', 'GSM48_BCAP_RRQ_DUAL_HR',
+ 'GSM48_BCAP_RRQ_FR_ONLY', 'GSM48_BCAP_SA_I440_I450',
+ 'GSM48_BCAP_SA_X21', 'GSM48_BCAP_SA_X28_DP_IN',
+ 'GSM48_BCAP_SA_X28_DP_UN', 'GSM48_BCAP_SA_X28_NDP',
+ 'GSM48_BCAP_SA_X32', 'GSM48_BCAP_SV_AMR_F',
+ 'GSM48_BCAP_SV_AMR_FW', 'GSM48_BCAP_SV_AMR_H',
+ 'GSM48_BCAP_SV_AMR_OFW', 'GSM48_BCAP_SV_AMR_OH',
+ 'GSM48_BCAP_SV_AMR_OHW', 'GSM48_BCAP_SV_EFR', 'GSM48_BCAP_SV_FR',
+ 'GSM48_BCAP_SV_HR', 'GSM48_BCAP_TMOD_CIRCUIT',
+ 'GSM48_BCAP_TMOD_PACKET', 'GSM48_BCAP_TR_RLP',
+ 'GSM48_BCAP_TR_RLP_PREF', 'GSM48_BCAP_TR_TRANSP',
+ 'GSM48_BCAP_TR_TR_PREF', 'GSM48_BCAP_UR_1200',
+ 'GSM48_BCAP_UR_12000', 'GSM48_BCAP_UR_1200_75',
+ 'GSM48_BCAP_UR_2400', 'GSM48_BCAP_UR_300', 'GSM48_BCAP_UR_4800',
+ 'GSM48_BCAP_UR_9600', 'GSM_BAD_FRAME', 'GSM_MAX_FACILITY',
+ 'GSM_MAX_SSVERSION', 'GSM_MAX_USERUSER', 'GSM_MNCC_BCAP_AUDIO',
+ 'GSM_MNCC_BCAP_FAX_G3', 'GSM_MNCC_BCAP_OTHER_ITC',
+ 'GSM_MNCC_BCAP_RESERVED', 'GSM_MNCC_BCAP_SPEECH',
+ 'GSM_MNCC_BCAP_UNR_DIG', 'GSM_TCHF_FRAME', 'GSM_TCHF_FRAME_EFR',
+ 'GSM_TCHH_FRAME', 'GSM_TCH_FRAME_AMR', 'MNCC_ALERT_IND',
+ 'MNCC_ALERT_REQ', 'MNCC_BRIDGE', 'MNCC_CALL_CONF_IND',
+ 'MNCC_CALL_PROC_REQ', 'MNCC_DISC_IND', 'MNCC_DISC_REQ',
+ 'MNCC_FACILITY_IND', 'MNCC_FACILITY_REQ', 'MNCC_FRAME_DROP',
+ 'MNCC_FRAME_RECV', 'MNCC_F_BEARER_CAP', 'MNCC_F_CALLED',
+ 'MNCC_F_CALLING', 'MNCC_F_CAUSE', 'MNCC_F_CCCAP',
+ 'MNCC_F_CONNECTED', 'MNCC_F_EMERGENCY', 'MNCC_F_FACILITY',
+ 'MNCC_F_KEYPAD', 'MNCC_F_PROGRESS', 'MNCC_F_REDIRECTING',
+ 'MNCC_F_SIGNAL', 'MNCC_F_SSVERSION', 'MNCC_F_USERUSER',
+ 'MNCC_HOLD_CNF', 'MNCC_HOLD_IND', 'MNCC_HOLD_REJ',
+ 'MNCC_LCHAN_MODIFY', 'MNCC_MODIFY_CNF', 'MNCC_MODIFY_IND',
+ 'MNCC_MODIFY_REJ', 'MNCC_MODIFY_REQ', 'MNCC_MODIFY_RSP',
+ 'MNCC_NOTIFY_IND', 'MNCC_NOTIFY_REQ', 'MNCC_PROGRESS_REQ',
+ 'MNCC_REJ_IND', 'MNCC_REJ_REQ', 'MNCC_REL_CNF', 'MNCC_REL_IND',
+ 'MNCC_REL_REQ', 'MNCC_RETRIEVE_CNF', 'MNCC_RETRIEVE_IND',
+ 'MNCC_RETRIEVE_REJ', 'MNCC_RTP_CONNECT', 'MNCC_RTP_CREATE',
+ 'MNCC_RTP_FREE', 'MNCC_SETUP_CNF', 'MNCC_SETUP_COMPL_IND',
+ 'MNCC_SETUP_COMPL_REQ', 'MNCC_SETUP_IND', 'MNCC_SETUP_REQ',
+ 'MNCC_SETUP_RSP', 'MNCC_SOCKET_HELLO', 'MNCC_SOCK_VERSION',
+ 'MNCC_START_DTMF_IND', 'MNCC_START_DTMF_REJ',
+ 'MNCC_START_DTMF_RSP', 'MNCC_STOP_DTMF_IND', 'MNCC_STOP_DTMF_RSP',
+ 'MNCC_USERINFO_IND', 'MNCC_USERINFO_REQ', 'gsm48_bcap_coding',
+ 'gsm48_bcap_interm_rate', 'gsm48_bcap_itcap',
+ 'gsm48_bcap_modem_type', 'gsm48_bcap_parity', 'gsm48_bcap_ra',
+ 'gsm48_bcap_rrq', 'gsm48_bcap_sig_access',
+ 'gsm48_bcap_speech_ver', 'gsm48_bcap_tmod', 'gsm48_bcap_transp',
+ 'gsm48_bcap_user_rate', 'gsm_mncc_bcap', 'struct_gsm_data_frame',
+ 'struct_gsm_mncc', 'struct_gsm_mncc_bearer_cap',
+ 'struct_gsm_mncc_bearer_cap_data', 'struct_gsm_mncc_bridge',
+ 'struct_gsm_mncc_cause', 'struct_gsm_mncc_cccap',
+ 'struct_gsm_mncc_clir', 'struct_gsm_mncc_facility',
+ 'struct_gsm_mncc_hello', 'struct_gsm_mncc_number',
+ 'struct_gsm_mncc_progress', 'struct_gsm_mncc_rtp',
+ 'struct_gsm_mncc_ssversion', 'struct_gsm_mncc_useruser',
+ 'struct_sockaddr_storage']
diff --git a/mncc_sock.py b/mncc_sock.py
index 9e7b8e9..79e2346 100644
--- a/mncc_sock.py
+++ b/mncc_sock.py
@@ -17,7 +17,7 @@

class mncc_msg_common:
def send(self):
- return buffer(self)[:]
+ return bytes(memoryview(self))
def receive(self, bytes):
fit = min(len(bytes), ctypes.sizeof(self))
ctypes.memmove(ctypes.addressof(self), bytes, fit)
@@ -31,19 +31,19 @@
mncc.GSM_TCHH_FRAME, mncc.GSM_TCHF_FRAME_EFR,
mncc.GSM_TCH_FRAME_AMR, mncc.GSM_BAD_FRAME)

-class mncc_msg(mncc.gsm_mncc, mncc_msg_common):
+class mncc_msg(mncc.struct_gsm_mncc, mncc_msg_common):
def __str__(self):
return 'mncc_msg(type=0x%04x, callref=%u, fields=0x%04x)' % (self.msg_type, self.callref, self.fields)
def __unicode__(self):
return u'mncc_msg(type=0x%04x, callref=%u, fields=0x%04x)' % (self.msg_type, self.callref, self.fields)

-class mncc_hello_msg(mncc.gsm_mncc_hello, mncc_msg_common):
+class mncc_hello_msg(mncc.struct_gsm_mncc_hello, mncc_msg_common):
def __str__(self):
return 'mncc_hello_msg(version=0x%04x)' % (self.version)
def __unicode__(self):
return u'mncc_hello_msg(version=0x%04x)' % (self.version)

-class mncc_data_frame_msg(mncc.gsm_data_frame, mncc_msg_common):
+class mncc_data_frame_msg(mncc.struct_gsm_data_frame, mncc_msg_common):
def __str__(self):
return 'mncc_data_frame(type=0x%04x, codec=%s, callref=%u)' \
% (self.msg_type, self.codec_str(), self.callref)
@@ -65,20 +65,20 @@
else:
return "(???)"

-class mncc_rtp_msg(mncc.gsm_mncc_rtp, mncc_msg_common):
+class mncc_rtp_msg(mncc.struct_gsm_mncc_rtp, mncc_msg_common):
def __str__(self):
return 'mncc_rtp_msg(type=0x%04x, callref=%u, ip=%x, port=%u)' % (self.msg_type, self.callref, self.ip, self.port)
def __unicode__(self):
return u'mncc_rtp_msg(type=0x%04x, callref=%u, ip=%x, port=%u)' % (self.msg_type, self.callref, self.ip, self.port)

-class mncc_bridge_msg(mncc.gsm_mncc_bridge, mncc_msg_common):
+class mncc_bridge_msg(mncc.struct_gsm_mncc_bridge, mncc_msg_common):
def __str__(self):
return 'mncc_bridge_msg(%u, %u)' % (self.callref[0], self.callref[1])
def __unicode__(self):
return u'mncc_bridge_msg(%u, %u)' % (self.callref[0], self.callref[1])

def mncc_number(number, num_type = 0, num_plan = 0, num_present = 1, num_screen = 0):
- return mncc.gsm_mncc_number(number = number, type = num_type,
+ return mncc.struct_gsm_mncc_number(number = number.encode('utf-8'), type = num_type,
plan = num_plan, present = num_present,
screen = num_screen)

@@ -92,7 +92,7 @@
index = index + 1

speech_types[index] = -1
- return mncc.gsm_mncc_bearer_cap(coding = 0, speech_ctm=0, radio = 1, speech_ver = speech_types, transfer = 0, mode = 0)
+ return mncc.struct_gsm_mncc_bearer_cap(coding = 0, speech_ctm=0, radio = 1, speech_ver = speech_types, transfer = 0, mode = 0)

class MnccSocketBase(object):
def send(self, msg):
@@ -142,12 +142,12 @@
'(0x%04x vs 0x%04x)\n' % (msg.version, mncc.MNCC_SOCK_VERSION))

# Match expected message sizes / offsets
- if (msg.mncc_size < ctypes.sizeof(mncc.gsm_mncc) or
- msg.data_frame_size != ctypes.sizeof(mncc.gsm_data_frame) or
- msg.called_offset != mncc.gsm_mncc.called.offset or
- msg.signal_offset != mncc.gsm_mncc.signal.offset or
- msg.emergency_offset != mncc.gsm_mncc.emergency.offset or
- msg.lchan_type_offset != mncc.gsm_mncc.lchan_type.offset):
+ if (msg.mncc_size < ctypes.sizeof(mncc.struct_gsm_mncc) or
+ msg.data_frame_size != ctypes.sizeof(mncc.struct_gsm_data_frame) or
+ msg.called_offset != mncc.struct_gsm_mncc.called.offset or
+ msg.signal_offset != mncc.struct_gsm_mncc.signal.offset or
+ msg.emergency_offset != mncc.struct_gsm_mncc.emergency.offset or
+ msg.lchan_type_offset != mncc.struct_gsm_mncc.lchan_type.offset):
raise AssertionError('MNCC message alignment mismatch\n')

log.info('Received %s' % msg)
diff --git a/regen-mncc-py.sh b/regen-mncc-py.sh
index a1981b4..08a92f1 100755
--- a/regen-mncc-py.sh
+++ b/regen-mncc-py.sh
@@ -1,38 +1,6 @@
#/bin/sh
-echo This script requires that python-ctypeslib is installed on the system
-echo Unfortunately, this package is long unmaintained and only available on Debian8
+echo This script requires that python-ctypeslib2 is installed on the system
+echo See https://github.com/trolldbois/ctypeslib
echo

-# If your distro doesn't provide python-ctypeslib:
-# svn co "https://svn.python.org/projects/ctypes/trunk/ctypeslib/"
-# cd ctypeslib
-# python2 ./setup.py install --prefix /tmp/out
-# ln -s h2xml.py /tmp/out/bin/h2xml
-# ln -s xml2py.py /tmp/out/bin/xml2py
-# export PYTHONPATH="$PYTHONPATH:/tmp/out/lib/python2.7/site-packages"
-# export PATH="$PATH:/tmp/out/bin/"
-# ./regen-mncc-py.sh
-# == Troubleshooting:
-# * h2ml: Failing with tracebak OSError Not found:
-# One may be missing gccxml. On arch, install gccxml-git from AUR.
-# * h2xml failing due to missing gccxml_builtins.h:
-# Create empty file /tmp/include/gccxml_builtins.h and pass "-I /tmp/include/" to h2xml.
-# * Missing __builtin_bswap16/32/64:
-# Copy from /usr/include/bits/byteswap.h defines __bswap_constant_16/32/64 to
-# either start of mncc.h itself or /tmp/include/gccxml_builtins.h, and rename
-# them as __builtin_bswap16/32/64.
-
-if [ ! -x `which h2xml` ]; then
- echo No h2xml executable found - python-ctypeslib not installed?
- exit 1
-fi
-
-if [ ! -x `which xml2py` ]; then
- echo No xml2py executable found - python-ctypeslib not installed?
- exit 1
-fi
-
-set -xe
-cp ./mncc.h /tmp/mncc.h
-h2xml -I /tmp/include/ ./mncc.h -c -o mncc.xml
-xml2py mncc.xml -k dest -v -o mncc.py
+clang2py -k ems -o mncc.py mncc.h

To view, visit change 36319. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: mncc-python
Gerrit-Branch: master
Gerrit-Change-Id: I9efd56623ebeabef4317356a05484a620a3a91cc
Gerrit-Change-Number: 36319
Gerrit-PatchSet: 5
Gerrit-Owner: laforge <laforge@osmocom.org>
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: osmith <osmith@sysmocom.de>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>
Gerrit-MessageType: merged