📄 gen.x
字号:
#endif /* CMFILE_REORG_1 */
/* header typedefs */
typedef struct octStrg /* octet string */
{
S32 length; /* length */
U8 val[MF_SIZE_TKNSTR]; /* value */
} OctStrg;
typedef struct tknHdr /* token header */
{
U8 pres; /* present */
U8 spare1; /* for 16 bit alignment */
U16 spare2; /* for 32 bit alignment */
#ifdef ALIGN_64BIT
U32 spare3; /* for 64 bit alignment */
#endif
} TknHdr;
typedef struct elmtHdr /* element header */
{
U8 pres; /* present */
U8 actnInd; /* action indicator */
U16 compInd; /* for alignment */
#ifdef ALIGN_64BIT
U32 spare; /* for 64 bit alignment */
#endif
} ElmtHdr;
/* token typedefs */
typedef struct tknU8 /* token U8 */
{
U8 pres; /* present flag */
U8 val; /* value */
U16 spare1; /* for alignment */
#ifdef ALIGN_64BIT
U32 spare2; /* for 64 bit alignment */
#endif
} TknU8;
typedef struct tknS8 /* token S8 */
{
U8 pres; /* present flag */
S8 val; /* value */
U16 spare1; /* for alignment */
#ifdef ALIGN_64BIT
U32 spare2; /* for 64 bit alignment */
#endif
} TknS8;
typedef struct tknU16 /* token U16 */
{
U8 pres; /* present flag */
U8 spare1; /* for alignment */
U16 val; /* value */
#ifdef ALIGN_64BIT
U32 spare2; /* for 64 bit alignment */
#endif
} TknU16;
typedef struct tknU32 /* token U32 */
{
U8 pres; /* present flag */
U8 spare1; /* for alignment */
U16 spare2; /* for alignment */
U32 val; /* value */
} TknU32;
typedef struct tknS32 /* token S32 */
{
U8 pres; /* present flag */
U8 spare1; /* for alignment */
U16 spare2; /* for alignment */
S32 val; /* value */
} TknS32;
typedef struct tknStrS /* token string */
{
U8 pres; /* present flag */
U8 len; /* length */
U16 spare1; /* for alignment */
#ifdef ALIGN_64BIT
U32 spare2; /* for 64 bit alignment */
U8 val[(MF_SIZE_TKNSTRS + 7) & 0xff8]; /* string value */
#else
U8 val[(MF_SIZE_TKNSTRS + 3) & 0xffc]; /* string value */
#endif
} TknStrS;
typedef struct tknStrM /* token string */
{
U8 pres; /* present flag */
U8 len; /* length */
U16 spare1; /* for alignment */
#ifdef ALIGN_64BIT
U32 spare2; /* for 64 bit alignment */
U8 val[(MF_SIZE_TKNSTRM + 7) & 0xff8]; /* string value */
#else
U8 val[(MF_SIZE_TKNSTRM + 3) & 0xffc]; /* string value */
#endif
} TknStrM;
typedef struct tknStr /* token string */
{
U8 pres; /* present flag */
U8 len; /* length */
U16 spare1; /* for alignment */
#ifdef ALIGN_64BIT
U32 spare2; /* for 64 bit alignment */
U8 val[(MF_SIZE_TKNSTR + 7) & 0xff8]; /* string value */
#else
U8 val[(MF_SIZE_TKNSTR + 3) & 0xffc]; /* string value */
#endif
} TknStr;
typedef struct tknStrE /* token string extended */
{
U8 pres; /* present flag */
U8 len; /* length */
U16 spare1; /* for alignment */
#ifdef ALIGN_64BIT
U32 spare2; /* for 64 bit alignment */
U8 val[(MF_SIZE_TKNSTRE + 7) & 0xff8]; /* string value */
#else
U8 val[(MF_SIZE_TKNSTRE + 3) & 0xffc]; /* string value */
#endif
} TknStrE;
typedef struct tknStrXL /* token string extra long */
{
U16 len; /* length */
U8 pres; /* present flag */
U8 spare1; /* for alignment */
#ifdef ALIGN_64BIT
U32 spare2; /* for 64 bit alignment */
#endif
U8 *val; /* string value (use allocated memory) */
} TknStrXL;
typedef struct tknStr4 /* token string */
{
U8 pres; /* present flag */
U8 len; /* length */
U16 spare1; /* for alignment */
#ifdef ALIGN_64BIT
U32 spare2; /* for 64 bit alignment */
U8 val[8]; /* string value - 8 byte alligned */
#else
U8 val[4]; /* string value - 4 byte alligned */
#endif /* ALIGN_64BIT */
} TknStr4;
typedef struct tknStr12 /* token string */
{
U8 pres; /* present flag */
U8 len; /* length */
U16 spare1; /* for alignment */
#ifdef ALIGN_64BIT
U32 spare2; /* for 64 bit alignment */
U8 val[16]; /* string value - 8 byte alligned */
#else
U8 val[12]; /* string value - 4 byte alligned */
#endif /* ALIGN_64BIT */
} TknStr12;
typedef struct tknStr32 /* token string */
{
U8 pres; /* present flag */
U8 len; /* length */
U16 spare1; /* for alignment */
#ifdef ALIGN_64BIT
U32 spare2; /* for 64 bit alignment */
#endif
U8 val[32]; /* string value - 4 byte alligned */
} TknStr32;
typedef struct tknStr64 /* token string */
{
U8 pres; /* present flag */
U8 len; /* length */
U16 spare1; /* for alignment */
#ifdef ALIGN_64BIT
U32 spare2; /* for 64 bit alignment */
#endif
U8 val[64]; /* string value - 4 byte alligned */
} TknStr64;
typedef struct tknStr132 /* token string */
{
U8 pres; /* present flag */
U8 len; /* length */
U16 spare1; /* for alignment */
#ifdef ALIGN_64BIT
U32 spare2; /* for 64 bit alignment */
U8 val[136]; /* string value - 8 byte alligned */
#else
U8 val[132]; /* string value - 4 byte alligned */
#endif /* ALIGN_64BIT */
} TknStr132;
typedef struct tknStr256 /* token string */
{
U8 pres; /* present flag */
U8 len; /* length */
U16 spare1; /* for alignment */
#ifdef ALIGN_64BIT
U32 spare2; /* for 64 bit alignment */
#endif
U8 val[256]; /* string value - 4 byte alligned */
} TknStr256;
typedef struct tknOid /* Object Identifier */
{
U8 pres; /* present flag */
U8 len; /* length */
U16 spare1; /* for alignment */
#ifdef ALIGN_64BIT
U32 spare2; /* for 64 bit alignment */
#endif
U16 val[32]; /* max 32 integers of less than 64k value */
} TknOid;
typedef struct tknBits /* token bits */
{
U8 pres; /* present flag */
U8 len; /* for alignment */
U16 spare1; /* for alignment */
#ifdef ALIGN_64BIT
U32 spare2; /* for 64 bit alignment */
U8 val[(MF_SIZE_TKNBITS + 7) & 0xff8]; /* string value */
#else
U8 val[(MF_SIZE_TKNBITS + 3) & 0xffc]; /* string value */
#endif
} TknBits;
typedef struct elmtStr /* element string */
{
ElmtHdr eh; /* element header */
TknStr str; /* network specific information */
} ElmtStr;
typedef struct cdPtyNmb /* called party number tokens */
{
ElmtHdr eh; /* element header */
TknU8 nmbPlanId; /* numbering plan identification */
TknU8 typeNmb0; /* type of number */
#ifdef CDPTYNMB_32DIGIT
TknStrM nmbDigits; /* number digits */
#else
TknStrS nmbDigits; /* number digits */
#endif /* CDPTYNMB_32DIGIT */
} CdPtyNmb;
typedef struct redirNmb /* redirecting number tokens */
{
ElmtHdr eh; /* element header */
TknU8 nmbPlanId; /* numbering plan identification */
TknU8 typeNmb; /* type of number */
TknU8 screenInd; /* screening indicator */
TknU8 presInd; /* presentation indicator */
TknU8 rsnRedirect; /* reason for redirection */
TknStrS nmbDigits; /* number digits */
} RedirNmb;
typedef struct srvClass /* service class */
{
U8 type; /* type */
union
{
struct /* frame relay */
{
Bool cr; /* command response bit */
Bool de; /* discard eligibility bit */
} fr;
struct /* mac */
{
Prior prior; /* priority */
} ma;
} s;
} SrvClass;
/* ip header, without options */
typedef struct ip /* ip header */
{
U8 ip_hl; /* header length */
Prec ip_tos; /* type of service */
U16 ip_len; /* total length */
U16 ip_id; /* identification */
U16 ip_off; /* fragment offset field */
Ttl ip_ttl; /* time to live */
U8 ip_p; /* protocol */
U16 ip_sum; /* checksum */
IpAddr ip_src; /* source address */
IpAddr ip_dst; /* dest address */
} Ip;
/* ATM structures */
#ifndef CMFILE_REORG_1
/* info elements that can be used for routing calls */
typedef struct amCdPtySad /* Called Party Sub Address Tokens */
{
ElmtHdr eh; /* element header */
TknU8 oddEvenInd; /* odd/even indicator */
TknU8 typeSad; /* type of sub address */
TknStrS sadInfo; /* address/number information */
} AmCdPtySad;
typedef struct amBHiLyrInfo /* Broadband High Layer Information Tokens */
{
ElmtHdr eh; /* element header */
TknU8 hiLyrInfoType; /* high layer information type */
TknStrS hiLyrInfo; /* high layer information */
} AmBHiLyrInfo;
typedef struct amBBearCap /* Broadband Bearer Capability Tokens */
{
ElmtHdr eh; /* element header */
TknU8 bearClass; /* bearer class */
TknU8 timingReq; /* timing requirement */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -