Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/* Copyright (C) Microsoft Corporation, 1995-1999. All rights reserved. */ /* ASN.1 definitions for H.323 Messages Call Setup (Q.931) */
#ifndef _Q931ASN_Module_H_
#define _Q931ASN_Module_H_
#include "msper.h"
#ifdef __cplusplus
extern "C" { #endif
typedef struct TransportAddress_ipSourceRoute_route * PTransportAddress_ipSourceRoute_route;
typedef struct Setup_UUIE_destExtraCRV * PSetup_UUIE_destExtraCRV;
typedef struct Facility_UUIE_alternativeAliasAddress * PFacility_UUIE_alternativeAliasAddress;
typedef struct Setup_UUIE_destExtraCallInfo * PSetup_UUIE_destExtraCallInfo;
typedef struct Setup_UUIE_destinationAddress * PSetup_UUIE_destinationAddress;
typedef struct Setup_UUIE_sourceAddress * PSetup_UUIE_sourceAddress;
typedef struct GatewayInfo_protocol * PGatewayInfo_protocol;
typedef struct TransportAddress_ipSourceRoute_route_Seq { ASN1uint32_t length; ASN1octet_t value[4]; } TransportAddress_ipSourceRoute_route_Seq;
typedef struct ConferenceIdentifier { ASN1uint32_t length; ASN1octet_t value[16]; } ConferenceIdentifier;
typedef ASN1uint16_t CallReferenceValue;
typedef ASN1objectidentifier_t ProtocolIdentifier;
typedef struct TransportAddress_ipSourceRoute_routing { ASN1choice_t choice; # define strict_chosen 1
# define loose_chosen 2
} TransportAddress_ipSourceRoute_routing;
typedef struct TransportAddress_ipSourceRoute_route { PTransportAddress_ipSourceRoute_route next; TransportAddress_ipSourceRoute_route_Seq value; } TransportAddress_ipSourceRoute_route_Element;
typedef struct H323_UserInformation_user_data { ASN1uint16_t protocol_discriminator; struct H323_UserInformation_user_data_user_information_user_information { ASN1uint32_t length; ASN1octet_t value[131]; } user_information; } H323_UserInformation_user_data;
typedef struct Setup_UUIE_conferenceGoal { ASN1choice_t choice; # define create_chosen 1
# define join_chosen 2
# define invite_chosen 3
} Setup_UUIE_conferenceGoal;
typedef struct Setup_UUIE_destExtraCRV { PSetup_UUIE_destExtraCRV next; CallReferenceValue value; } Setup_UUIE_destExtraCRV_Element;
typedef struct TransportAddress_ip6Address { struct TransportAddress_ip6Address_ip_ip { ASN1uint32_t length; ASN1octet_t value[16]; } ip; ASN1uint16_t port; } TransportAddress_ip6Address;
typedef struct TransportAddress_ipxAddress { struct TransportAddress_ipxAddress_node_node { ASN1uint32_t length; ASN1octet_t value[6]; } node; struct TransportAddress_ipxAddress_netnum_netnum { ASN1uint32_t length; ASN1octet_t value[4]; } netnum; struct TransportAddress_ipxAddress_port_port { ASN1uint32_t length; ASN1octet_t value[2]; } port; } TransportAddress_ipxAddress;
typedef struct TransportAddress_ipSourceRoute { struct TransportAddress_ipSourceRoute_ip_ip { ASN1uint32_t length; ASN1octet_t value[4]; } ip; ASN1uint16_t port; PTransportAddress_ipSourceRoute_route route; TransportAddress_ipSourceRoute_routing routing; } TransportAddress_ipSourceRoute;
typedef struct TransportAddress_ipAddress { struct TransportAddress_ipAddress_ip_ip { ASN1uint32_t length; ASN1octet_t value[4]; } ip; ASN1uint16_t port; } TransportAddress_ipAddress;
typedef struct H221NonStandard { ASN1uint16_t t35CountryCode; ASN1uint16_t t35Extension; ASN1uint16_t manufacturerCode; } H221NonStandard;
typedef struct NonStandardIdentifier { ASN1choice_t choice; union { # define object_chosen 1
ASN1objectidentifier_t object; # define h221NonStandard_chosen 2
H221NonStandard h221NonStandard; } u; } NonStandardIdentifier;
typedef struct NonStandardParameter { NonStandardIdentifier nonStandardIdentifier; ASN1octetstring_t data; } NonStandardParameter;
typedef struct CallType { ASN1choice_t choice; # define pointToPoint_chosen 1
# define oneToN_chosen 2
# define nToOne_chosen 3
# define nToN_chosen 4
} CallType;
typedef struct Q954Details { ASN1bool_t conferenceCalling; ASN1bool_t threePartyService; } Q954Details;
typedef struct QseriesOptions { ASN1bool_t q932Full; ASN1bool_t q951Full; ASN1bool_t q952Full; ASN1bool_t q953Full; ASN1bool_t q955Full; ASN1bool_t q956Full; ASN1bool_t q957Full; Q954Details q954Info; } QseriesOptions;
typedef struct H310Caps { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define H310Caps_nonStandardData_present 0x80
NonStandardParameter nonStandardData; } H310Caps;
typedef struct H320Caps { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define H320Caps_nonStandardData_present 0x80
NonStandardParameter nonStandardData; } H320Caps;
typedef struct H321Caps { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define H321Caps_nonStandardData_present 0x80
NonStandardParameter nonStandardData; } H321Caps;
typedef struct H322Caps { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define H322Caps_nonStandardData_present 0x80
NonStandardParameter nonStandardData; } H322Caps;
typedef struct H323Caps { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define H323Caps_nonStandardData_present 0x80
NonStandardParameter nonStandardData; } H323Caps;
typedef struct H324Caps { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define H324Caps_nonStandardData_present 0x80
NonStandardParameter nonStandardData; } H324Caps;
typedef struct VoiceCaps { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define VoiceCaps_nonStandardData_present 0x80
NonStandardParameter nonStandardData; } VoiceCaps;
typedef struct T120OnlyCaps { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define T120OnlyCaps_nonStandardData_present 0x80
NonStandardParameter nonStandardData; } T120OnlyCaps;
typedef struct McuInfo { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define McuInfo_nonStandardData_present 0x80
NonStandardParameter nonStandardData; } McuInfo;
typedef struct TerminalInfo { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define TerminalInfo_nonStandardData_present 0x80
NonStandardParameter nonStandardData; } TerminalInfo;
typedef struct GatekeeperInfo { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define GatekeeperInfo_nonStandardData_present 0x80
NonStandardParameter nonStandardData; } GatekeeperInfo;
typedef struct VendorIdentifier { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; H221NonStandard vendor; # define productId_present 0x80
struct VendorIdentifier_productId_productId { ASN1uint32_t length; ASN1octet_t value[256]; } productId; # define versionId_present 0x40
struct VendorIdentifier_versionId_versionId { ASN1uint32_t length; ASN1octet_t value[256]; } versionId; } VendorIdentifier;
typedef struct SupportedProtocols { ASN1choice_t choice; union { # define nonStandardData_chosen 1
NonStandardParameter nonStandardData; # define h310_chosen 2
H310Caps h310; # define h320_chosen 3
H320Caps h320; # define h321_chosen 4
H321Caps h321; # define h322_chosen 5
H322Caps h322; # define h323_chosen 6
H323Caps h323; # define h324_chosen 7
H324Caps h324; # define voice_chosen 8
VoiceCaps voice; # define t120_only_chosen 9
T120OnlyCaps t120_only; } u; } SupportedProtocols;
typedef struct GatewayInfo { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define protocol_present 0x80
PGatewayInfo_protocol protocol; # define GatewayInfo_nonStandardData_present 0x40
NonStandardParameter nonStandardData; } GatewayInfo;
typedef struct EndpointType { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define EndpointType_nonStandardData_present 0x80
NonStandardParameter nonStandardData; # define vendor_present 0x40
VendorIdentifier vendor; # define gatekeeper_present 0x20
GatekeeperInfo gatekeeper; # define gateway_present 0x10
GatewayInfo gateway; # define mcu_present 0x8
McuInfo mcu; # define terminal_present 0x4
TerminalInfo terminal; ASN1bool_t mc; ASN1bool_t undefinedNode; } EndpointType;
typedef struct TransportAddress { ASN1choice_t choice; union { # define ipAddress_chosen 1
TransportAddress_ipAddress ipAddress; # define ipSourceRoute_chosen 2
TransportAddress_ipSourceRoute ipSourceRoute; # define ipxAddress_chosen 3
TransportAddress_ipxAddress ipxAddress; # define ip6Address_chosen 4
TransportAddress_ip6Address ip6Address; # define netBios_chosen 5
struct TransportAddress_netBios_netBios { ASN1uint32_t length; ASN1octet_t value[16]; } netBios; # define nsap_chosen 6
struct TransportAddress_nsap_nsap { ASN1uint32_t length; ASN1octet_t value[20]; } nsap; # define nonStandardAddress_chosen 7
NonStandardParameter nonStandardAddress; } u; } TransportAddress;
typedef struct AliasAddress { ASN1choice_t choice; union { # define e164_chosen 1
ASN1char_t e164[129]; # define h323_ID_chosen 2
ASN1char16string_t h323_ID; } u; } AliasAddress;
typedef struct Setup_UUIE { union { ASN1uint16_t bit_mask; ASN1octet_t o[2]; }; ProtocolIdentifier protocolIdentifier; # define Setup_UUIE_h245Address_present 0x80
TransportAddress h245Address; # define sourceAddress_present 0x40
PSetup_UUIE_sourceAddress sourceAddress; EndpointType sourceInfo; # define destinationAddress_present 0x20
PSetup_UUIE_destinationAddress destinationAddress; # define destCallSignalAddress_present 0x10
TransportAddress destCallSignalAddress; # define destExtraCallInfo_present 0x8
PSetup_UUIE_destExtraCallInfo destExtraCallInfo; # define destExtraCRV_present 0x4
PSetup_UUIE_destExtraCRV destExtraCRV; ASN1bool_t activeMC; ConferenceIdentifier conferenceID; Setup_UUIE_conferenceGoal conferenceGoal; # define callServices_present 0x2
QseriesOptions callServices; CallType callType; # define sourceCallSignalAddress_present 0x8000
TransportAddress sourceCallSignalAddress; # define remoteExtensionAddress_present 0x4000
AliasAddress remoteExtensionAddress; } Setup_UUIE;
typedef struct CallProceeding_UUIE { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; ProtocolIdentifier protocolIdentifier; EndpointType destinationInfo; # define CallProceeding_UUIE_h245Address_present 0x80
TransportAddress h245Address; } CallProceeding_UUIE;
typedef struct Connect_UUIE { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; ProtocolIdentifier protocolIdentifier; # define Connect_UUIE_h245Address_present 0x80
TransportAddress h245Address; EndpointType destinationInfo; ConferenceIdentifier conferenceID; } Connect_UUIE;
typedef struct Alerting_UUIE { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; ProtocolIdentifier protocolIdentifier; EndpointType destinationInfo; # define Alerting_UUIE_h245Address_present 0x80
TransportAddress h245Address; } Alerting_UUIE;
typedef struct UI_UUIE { ProtocolIdentifier protocolIdentifier; } UI_UUIE;
typedef struct ReleaseCompleteReason { ASN1choice_t choice; # define noBandwidth_chosen 1
# define gatekeeperResources_chosen 2
# define unreachableDestination_chosen 3
# define destinationRejection_chosen 4
# define invalidRevision_chosen 5
# define noPermission_chosen 6
# define unreachableGatekeeper_chosen 7
# define gatewayResources_chosen 8
# define badFormatAddress_chosen 9
# define adaptiveBusy_chosen 10
# define inConf_chosen 11
# define ReleaseCompleteReason_undefinedReason_chosen 12
# define facilityCallDeflection_chosen 13
} ReleaseCompleteReason;
typedef struct ReleaseComplete_UUIE { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; ProtocolIdentifier protocolIdentifier; # define reason_present 0x80
ReleaseCompleteReason reason; } ReleaseComplete_UUIE;
typedef struct FacilityReason { ASN1choice_t choice; # define routeCallToGatekeeper_chosen 1
# define callForwarded_chosen 2
# define routeCallToMC_chosen 3
# define FacilityReason_undefinedReason_chosen 4
} FacilityReason;
typedef struct Facility_UUIE { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; ProtocolIdentifier protocolIdentifier; # define alternativeAddress_present 0x80
TransportAddress alternativeAddress; # define alternativeAliasAddress_present 0x40
PFacility_UUIE_alternativeAliasAddress alternativeAliasAddress; # define conferenceID_present 0x20
ConferenceIdentifier conferenceID; FacilityReason reason; } Facility_UUIE;
typedef struct H323_UU_PDU_h323_message_body { ASN1choice_t choice; union { # define setup_chosen 1
Setup_UUIE setup; # define callProceeding_chosen 2
CallProceeding_UUIE callProceeding; # define connect_chosen 3
Connect_UUIE connect; # define alerting_chosen 4
Alerting_UUIE alerting; # define userInformation_chosen 5
UI_UUIE userInformation; # define releaseComplete_chosen 6
ReleaseComplete_UUIE releaseComplete; # define facility_chosen 7
Facility_UUIE facility; } u; } H323_UU_PDU_h323_message_body;
typedef struct Facility_UUIE_alternativeAliasAddress { PFacility_UUIE_alternativeAliasAddress next; AliasAddress value; } Facility_UUIE_alternativeAliasAddress_Element;
typedef struct Setup_UUIE_destExtraCallInfo { PSetup_UUIE_destExtraCallInfo next; AliasAddress value; } Setup_UUIE_destExtraCallInfo_Element;
typedef struct Setup_UUIE_destinationAddress { PSetup_UUIE_destinationAddress next; AliasAddress value; } Setup_UUIE_destinationAddress_Element;
typedef struct Setup_UUIE_sourceAddress { PSetup_UUIE_sourceAddress next; AliasAddress value; } Setup_UUIE_sourceAddress_Element;
typedef struct GatewayInfo_protocol { PGatewayInfo_protocol next; SupportedProtocols value; } GatewayInfo_protocol_Element;
typedef struct H323_UU_PDU { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; H323_UU_PDU_h323_message_body h323_message_body; # define H323_UU_PDU_nonStandardData_present 0x80
NonStandardParameter nonStandardData; } H323_UU_PDU;
typedef struct H323_UserInformation { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; H323_UU_PDU h323_uu_pdu; # define user_data_present 0x80
H323_UserInformation_user_data user_data; } H323_UserInformation; #define H323_UserInformation_PDU 0
#define SIZE_Q931ASN_Module_PDU_0 sizeof(H323_UserInformation)
extern ASN1module_t Q931ASN_Module; extern void ASN1CALL Q931ASN_Module_Startup(void); extern void ASN1CALL Q931ASN_Module_Cleanup(void);
/* Prototypes of element functions for SEQUENCE OF and SET OF constructs */ extern int ASN1CALL ASN1Enc_TransportAddress_ipSourceRoute_route_ElmFn(ASN1encoding_t enc, PTransportAddress_ipSourceRoute_route val); extern int ASN1CALL ASN1Dec_TransportAddress_ipSourceRoute_route_ElmFn(ASN1decoding_t dec, PTransportAddress_ipSourceRoute_route val); extern void ASN1CALL ASN1Free_TransportAddress_ipSourceRoute_route_ElmFn(PTransportAddress_ipSourceRoute_route val); extern int ASN1CALL ASN1Enc_Setup_UUIE_destExtraCRV_ElmFn(ASN1encoding_t enc, PSetup_UUIE_destExtraCRV val); extern int ASN1CALL ASN1Dec_Setup_UUIE_destExtraCRV_ElmFn(ASN1decoding_t dec, PSetup_UUIE_destExtraCRV val); extern void ASN1CALL ASN1Free_Setup_UUIE_destExtraCRV_ElmFn(PSetup_UUIE_destExtraCRV val); extern int ASN1CALL ASN1Enc_Facility_UUIE_alternativeAliasAddress_ElmFn(ASN1encoding_t enc, PFacility_UUIE_alternativeAliasAddress val); extern int ASN1CALL ASN1Dec_Facility_UUIE_alternativeAliasAddress_ElmFn(ASN1decoding_t dec, PFacility_UUIE_alternativeAliasAddress val); extern void ASN1CALL ASN1Free_Facility_UUIE_alternativeAliasAddress_ElmFn(PFacility_UUIE_alternativeAliasAddress val); extern int ASN1CALL ASN1Enc_Setup_UUIE_destExtraCallInfo_ElmFn(ASN1encoding_t enc, PSetup_UUIE_destExtraCallInfo val); extern int ASN1CALL ASN1Dec_Setup_UUIE_destExtraCallInfo_ElmFn(ASN1decoding_t dec, PSetup_UUIE_destExtraCallInfo val); extern void ASN1CALL ASN1Free_Setup_UUIE_destExtraCallInfo_ElmFn(PSetup_UUIE_destExtraCallInfo val); extern int ASN1CALL ASN1Enc_Setup_UUIE_destinationAddress_ElmFn(ASN1encoding_t enc, PSetup_UUIE_destinationAddress val); extern int ASN1CALL ASN1Dec_Setup_UUIE_destinationAddress_ElmFn(ASN1decoding_t dec, PSetup_UUIE_destinationAddress val); extern void ASN1CALL ASN1Free_Setup_UUIE_destinationAddress_ElmFn(PSetup_UUIE_destinationAddress val); extern int ASN1CALL ASN1Enc_Setup_UUIE_sourceAddress_ElmFn(ASN1encoding_t enc, PSetup_UUIE_sourceAddress val); extern int ASN1CALL ASN1Dec_Setup_UUIE_sourceAddress_ElmFn(ASN1decoding_t dec, PSetup_UUIE_sourceAddress val); extern void ASN1CALL ASN1Free_Setup_UUIE_sourceAddress_ElmFn(PSetup_UUIE_sourceAddress val); extern int ASN1CALL ASN1Enc_GatewayInfo_protocol_ElmFn(ASN1encoding_t enc, PGatewayInfo_protocol val); extern int ASN1CALL ASN1Dec_GatewayInfo_protocol_ElmFn(ASN1decoding_t dec, PGatewayInfo_protocol val); extern void ASN1CALL ASN1Free_GatewayInfo_protocol_ElmFn(PGatewayInfo_protocol val);
#ifdef __cplusplus
} /* extern "C" */ #endif
#endif /* _Q931ASN_Module_H_ */
|