📄 abnf.h
字号:
/****************************************************************************** Copyright(C) 2005,2006 Frank ZHANG All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. ****************************************************************************** If you want to distribute this software with modifications under any terms other than the GPL or distribute the software linked with proprietary applications that are not distributed in full compliance with the GNU Public License, a Commercial License is needed. Commercial licensing and support of this software are available at a fee. For more information, See http://www.openmgcp.org ******************************************************************************/#ifndef __ABNF_H__#define __ABNF_H__#include "parser.h"typedef struct Tphone_type2_tag{ char *email_safe; char *phone;}Tphone_type2;typedef struct Tphone_type1_tag{ char *phone; char *email_safe;}Tphone_type1;#define phone_number_phone_type1 0#define phone_number_phone_type2 1#define phone_number_phone_type3 2typedef struct Tphone_number_tag{ int iType; union { Tphone_type1 phone_type1; Tphone_type2 phone_type2; char *phone_type3; }u;}Tphone_number;typedef struct Turi_tag{ char *text;}Turi;typedef struct Temail_tag{ char *text;}Temail;typedef struct Temail_name_tag{ char *email_safe;}Temail_name;typedef struct Temail_type2_tag{ Temail email; char *email_safe;}Temail_type2;typedef struct Temail_type1_tag{ char *email_safe; Temail email;}Temail_type1;#define email_address_email_type1 0#define email_address_email_type2 1#define email_address_email 2typedef struct Temail_address_tag{ int iType; union { Temail_type1 email_type1; Temail_type2 email_type2; Temail email; }u;}Temail_address;typedef struct Ttyped_time_tag{ TOpt fixed_len_time_unit;}Ttyped_time;#define stop_time_time 0#define stop_time_0 1typedef struct Tstop_time_tag{ int iType; union { char *time; }u;}Tstop_time;#define start_time_time 0#define start_time_0 1typedef struct Tstart_time_tag{ int iType; union { char *time; }u;}Tstart_time;#define connection_address_multicast_address 0#define connection_address_IPv4address 1#define connection_address_IPv6address 2#define connection_address_FQDN 3typedef struct Tconnection_address_tag{ int iType; union { char *multicast_address; char *IPv4address; char *IPv6address; char *FQDN; }u;}Tconnection_address;typedef struct Tatt_field_value_tag{ char *att_field; char *att_value;}Tatt_field_value;#define attribute_att_field_value 0#define attribute_att_field 1typedef struct Tattribute_tag{ int iType; union { Tatt_field_value att_field_value; char *att_field; }u;}Tattribute;#define proto_RTPBACKSLASHAVP 0#define proto_udp 1#define proto_otherproto 2typedef struct Tproto_tag{ int iType; union { char *otherproto; }u;}Tproto;typedef struct Tmedia_field_tag{ char *media; char *port; TOpt integer; Tproto proto; TList fmt;}Tmedia_field;typedef struct Tattribute_fields_tag{ Tattribute attribute;}Tattribute_fields;#define key_data_email_safe 0#define key_data_WAVE 1typedef struct Tkey_data_tag{ int iType; union { char *email_safe; }u;}Tkey_data;typedef struct TUri_type_tag{ Turi uri;}TUri_type;typedef struct Tbase64_tag{ Tkey_data key_data;}Tbase64;typedef struct Tclear_tag{ Tkey_data key_data;}Tclear;#define key_type_prompt 0#define key_type_clear 1#define key_type_base64 2#define key_type_Uri_type 3typedef struct Tkey_type_tag{ int iType; union { Tclear clear; Tbase64 base64; TUri_type Uri_type; }u;}Tkey_type;typedef struct Tkey_field_tag{ Tkey_type key_type;}Tkey_field;typedef struct Tzone_time_tag{ char *time; Ttyped_time typed_time;}Tzone_time;typedef struct Tzone_adjustments_tag{ TList zone_time;}Tzone_adjustments;typedef struct Trepeat_fields_tag{ Ttyped_time repeat_interval; TList typed_time;}Trepeat_fields;typedef struct Ttime_field_tag{ Tstart_time start_time; Tstop_time stop_time; TList repeat_fields;}Ttime_field;typedef struct Ttime_fields_tag{ TList time_field; TOpt zone_adjustments;}Ttime_fields;typedef struct Tbandwidth_fields_tag{ char *bwtype; char *bwvalue;}Tbandwidth_fields;typedef struct Tconnection_field_tag{ char *nettype; char *addrtype; Tconnection_address connection_address;}Tconnection_field;typedef struct Tphone_fields_tag{ Tphone_number phone_number;}Tphone_fields;typedef struct Temail_fields_tag{ Temail_address email_address;}Temail_fields;typedef struct Turi_field_tag{ Turi uri;}Turi_field;typedef struct Tinformation_field_tag{ char *information;}Tinformation_field;typedef struct Tsession_name_field_tag{ char *text;}Tsession_name_field;typedef struct Torigin_field_tag{ char *username; char *sess_id; char *sess_version; char *nettype; char *addrtype; char *addr;}Torigin_field;typedef struct Tproto_version_field_tag{ char *proto_version;}Tproto_version_field;typedef struct TMGCPResponseLine_tag{ char *responseCode; char *transaction_id; TOpt packageName; TOpt responseString;}TMGCPResponseLine;typedef struct TMGCPResponse_tag{ TMGCPResponseLine MGCPResponseLine; TList MGCPParameter; TList Announcement;}TMGCPResponse;typedef struct TPackageExtensionParameter_tag{ char *packageName; char *PackageExtensionParameterValue;}TPackageExtensionParameter;typedef struct TVendorExtensionParameterMan_tag{ char *VendorExtensionParameterValue;}TVendorExtensionParameterMan;typedef struct TVendorExtensionParameterOpt_tag{ char *VendorExtensionParameterValue;}TVendorExtensionParameterOpt;#define VendorExtensionParameter_VendorExtensionParameterOpt 0#define VendorExtensionParameter_VendorExtensionParameterMan 1typedef struct TVendorExtensionParameter_tag{ int iType; union { TVendorExtensionParameterOpt VendorExtensionParameterOpt; TVendorExtensionParameterMan VendorExtensionParameterMan; }u;}TVendorExtensionParameter;#define ExtensionParameter_VendorExtensionParameter 0#define ExtensionParameter_PackageExtensionParameter 1#define ExtensionParameter_OtherExtensionParameter 2typedef struct TExtensionParameter_tag{ int iType; union { TVendorExtensionParameter VendorExtensionParameter; TPackageExtensionParameter PackageExtensionParameter; char *OtherExtensionParameter; }u;}TExtensionParameter;typedef struct TPackageExtensionMethod_tag{ char *packageName; char *PackageExtensionRMValue;}TPackageExtensionMethod;#define RestartMethod_graceful 0#define RestartMethod_forced 1#define RestartMethod_restart 2#define RestartMethod_disconnected 3#define RestartMethod_cancelMINUSgraceful 4#define RestartMethod_extensionRestartMethod 5typedef struct TRestartMethod_tag
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -