📄 h323-messagesenc.c
字号:
/* encode length determinant */ stat = encodeLength (pctxt, pvalue->n); if (stat < 0) return stat; /* encode elements */ for (xx1 = 0; xx1 < pvalue->n; xx1++) { stat = asn1PE_H225TransportAddress_ipSourceRoute_route_element (pctxt, &pvalue->elem[xx1]); if (stat != ASN_OK) return stat; } return (stat);}/**************************************************************//* *//* TransportAddress_ipSourceRoute_routing *//* *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ipSourceRoute_routing (OOCTXT* pctxt, H225TransportAddress_ipSourceRoute_routing* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; /* extension bit */ extbit = (ASN1BOOL)(pvalue->t > 2); encodeBit (pctxt, extbit); if (!extbit) { /* Encode choice index value */ stat = encodeConsUnsigned (pctxt, pvalue->t - 1, 0, 1); if (stat != ASN_OK) return stat; /* Encode root element data value */ switch (pvalue->t) { /* strict */ case 1: /* NULL */ break; /* loose */ case 2: /* NULL */ break; default: return ASN_E_INVOPT; } } else { /* Encode extension choice index value */ stat = encodeSmallNonNegWholeNumber (pctxt, pvalue->t - 3); if (stat != ASN_OK) return stat; /* Encode extension element data value */ } return (stat);}/**************************************************************//* *//* TransportAddress_ipSourceRoute *//* *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ipSourceRoute (OOCTXT* pctxt, H225TransportAddress_ipSourceRoute* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; /* extension bit */ extbit = 0; encodeBit (pctxt, extbit); /* encode ip */ stat = asn1PE_H225TransportAddress_ipSourceRoute_ip (pctxt, &pvalue->ip); if (stat != ASN_OK) return stat; /* encode port */ stat = encodeConsUnsigned (pctxt, pvalue->port, 0U, 65535U); if (stat != ASN_OK) return stat; /* encode route */ stat = asn1PE_H225_SeqOfH225TransportAddress_ipSourceRoute_route_element (pctxt, &pvalue->route); if (stat != ASN_OK) return stat; /* encode routing */ stat = asn1PE_H225TransportAddress_ipSourceRoute_routing (pctxt, &pvalue->routing); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* TransportAddress_ipxAddress_node *//* *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ipxAddress_node (OOCTXT* pctxt, H225TransportAddress_ipxAddress_node* pvalue){ static Asn1SizeCnst lsize1 = { 0, 6, 6, 0 }; int stat = ASN_OK; addSizeConstraint (pctxt, &lsize1); stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* TransportAddress_ipxAddress_netnum *//* *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ipxAddress_netnum (OOCTXT* pctxt, H225TransportAddress_ipxAddress_netnum* pvalue){ static Asn1SizeCnst lsize1 = { 0, 4, 4, 0 }; int stat = ASN_OK; addSizeConstraint (pctxt, &lsize1); stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* TransportAddress_ipxAddress_port *//* *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ipxAddress_port (OOCTXT* pctxt, H225TransportAddress_ipxAddress_port* pvalue){ static Asn1SizeCnst lsize1 = { 0, 2, 2, 0 }; int stat = ASN_OK; addSizeConstraint (pctxt, &lsize1); stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* TransportAddress_ipxAddress *//* *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ipxAddress (OOCTXT* pctxt, H225TransportAddress_ipxAddress* pvalue){ int stat = ASN_OK; /* encode node */ stat = asn1PE_H225TransportAddress_ipxAddress_node (pctxt, &pvalue->node); if (stat != ASN_OK) return stat; /* encode netnum */ stat = asn1PE_H225TransportAddress_ipxAddress_netnum (pctxt, &pvalue->netnum); if (stat != ASN_OK) return stat; /* encode port */ stat = asn1PE_H225TransportAddress_ipxAddress_port (pctxt, &pvalue->port); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* TransportAddress_ip6Address_ip *//* *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ip6Address_ip (OOCTXT* pctxt, H225TransportAddress_ip6Address_ip* pvalue){ static Asn1SizeCnst lsize1 = { 0, 16, 16, 0 }; int stat = ASN_OK; addSizeConstraint (pctxt, &lsize1); stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* TransportAddress_ip6Address *//* *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_ip6Address (OOCTXT* pctxt, H225TransportAddress_ip6Address* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; /* extension bit */ extbit = 0; encodeBit (pctxt, extbit); /* encode ip */ stat = asn1PE_H225TransportAddress_ip6Address_ip (pctxt, &pvalue->ip); if (stat != ASN_OK) return stat; /* encode port */ stat = encodeConsUnsigned (pctxt, pvalue->port, 0U, 65535U); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* TransportAddress_netBios *//* *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_netBios (OOCTXT* pctxt, H225TransportAddress_netBios* pvalue){ static Asn1SizeCnst lsize1 = { 0, 16, 16, 0 }; int stat = ASN_OK; addSizeConstraint (pctxt, &lsize1); stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* TransportAddress_nsap *//* *//**************************************************************/EXTERN int asn1PE_H225TransportAddress_nsap (OOCTXT* pctxt, H225TransportAddress_nsap* pvalue){ static Asn1SizeCnst lsize1 = { 0, 1, 20, 0 }; int stat = ASN_OK; addSizeConstraint (pctxt, &lsize1); stat = encodeOctetString (pctxt, pvalue->numocts, pvalue->data); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* H221NonStandard *//* *//**************************************************************/EXTERN int asn1PE_H225H221NonStandard (OOCTXT* pctxt, H225H221NonStandard* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; /* extension bit */ extbit = 0; encodeBit (pctxt, extbit); /* encode t35CountryCode */ stat = encodeConsUnsigned (pctxt, pvalue->t35CountryCode, 0U, 255U); if (stat != ASN_OK) return stat; /* encode t35Extension */ stat = encodeConsUnsigned (pctxt, pvalue->t35Extension, 0U, 255U); if (stat != ASN_OK) return stat; /* encode manufacturerCode */ stat = encodeConsUnsigned (pctxt, pvalue->manufacturerCode, 0U, 65535U); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* NonStandardIdentifier *//* *//**************************************************************/EXTERN int asn1PE_H225NonStandardIdentifier (OOCTXT* pctxt, H225NonStandardIdentifier* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; /* extension bit */ extbit = (ASN1BOOL)(pvalue->t > 2); encodeBit (pctxt, extbit); if (!extbit) { /* Encode choice index value */ stat = encodeConsUnsigned (pctxt, pvalue->t - 1, 0, 1); if (stat != ASN_OK) return stat; /* Encode root element data value */ switch (pvalue->t) { /* object */ case 1: stat = encodeObjectIdentifier (pctxt, pvalue->u.object); if (stat != ASN_OK) return stat; break; /* h221NonStandard */ case 2: stat = asn1PE_H225H221NonStandard (pctxt, pvalue->u.h221NonStandard); if (stat != ASN_OK) return stat; break; default: return ASN_E_INVOPT; } } else { /* Encode extension choice index value */ stat = encodeSmallNonNegWholeNumber (pctxt, pvalue->t - 3); if (stat != ASN_OK) return stat; /* Encode extension element data value */ } return (stat);}/**************************************************************//* *//* NonStandardParameter *//* *//**************************************************************/EXTERN int asn1PE_H225NonStandardParameter (OOCTXT* pctxt, H225NonStandardParameter* pvalue){ int stat = ASN_OK; /* encode nonStandardIdentifier */ stat = asn1PE_H225NonStandardIdentifier (pctxt, &pvalue->nonStandardIdentifier); if (stat != ASN_OK) return stat; /* encode data */ stat = encodeOctetString (pctxt, pvalue->data.numocts, pvalue->data.data); if (stat != ASN_OK) return stat; return (stat);}/**************************************************************//* *//* TransportAddress *//* *//**************************************************************/EXTERN int asn1PE_H225TransportAddress (OOCTXT* pctxt, H225TransportAddress* pvalue){ int stat = ASN_OK; ASN1BOOL extbit; /* extension bit */ extbit = (ASN1BOOL)(pvalue->t > 7); encodeBit (pctxt, extbit); if (!extbit) { /* Encode choice index value */ stat = encodeConsUnsigned (pctxt, pvalue->t - 1, 0, 6); if (stat != ASN_OK) return stat; /* Encode root element data value */ switch (pvalue->t) { /* ipAddress */ case 1: stat = asn1PE_H225TransportAddress_ipAddress (pctxt, pvalue->u.ipAddress); if (stat != ASN_OK) return stat; break; /* ipSourceRoute */ case 2: stat = asn1PE_H225TransportAddress_ipSourceRoute (pctxt, pvalue->u.ipSourceRoute); if (stat != ASN_OK) return stat;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -