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 @@ import logging as log 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 @@ struct gsm_mncc_bearer_cap { 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 @@ struct gsm_mncc_cccap { 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 { 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 @@ import ctypes 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 @@ class mncc_msg_common: 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 @@ class mncc_data_frame_msg(mncc.gsm_data_frame, mncc_msg_common): 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 @@ def mncc_bearer_cap(codecs_permitted): 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 @@ class MnccSocket(MnccSocketBase): '(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