⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usock.h.svn-base

📁 Linux下gsm/gprs modem的看守程序。支持短信发送与接受。
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
#ifndef _GSMD_USOCK_H#define _GSMD_USOCK_H#include <gsmd/event.h>#include <gsmd/ts0707.h>#include <gsmd/ts0705.h>#define GSMD_UNIX_SOCKET "\0gsmd"//#define GSMD_UNIX_SOCKET_TYPE SOCK_SEQPACKET#define GSMD_UNIX_SOCKET_TYPE SOCK_STREAM#define GSMD_PROTO_VERSION	1#define GSMD_MSGSIZE_MAX	4096enum gsmd_msg_type {	GSMD_MSG_NONE		= 0,	GSMD_MSG_EVENT		= 1,	GSMD_MSG_PASSTHROUGH	= 2,	GSMD_MSG_VOICECALL	= 3,	GSMD_MSG_DATACALL	= 4,	GSMD_MSG_PHONEBOOK	= 5,	GSMD_MSG_NETWORK	= 6,	GSMD_MSG_PHONE		= 7,	GSMD_MSG_PIN		= 8,	GSMD_MSG_SMS		= 9,	GSMD_MSG_CB		= 10,	GSMD_MSG_MODEM		= 11,	__NUM_GSMD_MSGS};enum gsmd_passthrough_type {	GSMD_PASSTHROUGH_NONE	= 0,	GSMD_PASSTHROUGH_REQ	= 1,	GSMD_PASSTHROUGH_RESP	= 2,};enum gsmd_msg_voicecall_type {	GSMD_VOICECALL_DIAL	= 1,	GSMD_VOICECALL_HANGUP	= 2,	GSMD_VOICECALL_ANSWER	= 3,	GSMD_VOICECALL_DTMF	= 4,	GSMD_VOICECALL_VOL_SET	= 5,	GSMD_VOICECALL_VOL_GET	= 6,	GSMD_VOICECALL_GET_STAT	= 7,	GSMD_VOICECALL_CTRL	= 8,	GSMD_VOICECALL_FWD_DIS	= 9,	GSMD_VOICECALL_FWD_EN	= 10,	GSMD_VOICECALL_FWD_STAT	= 11,	GSMD_VOICECALL_FWD_REG	= 12,	GSMD_VOICECALL_FWD_ERAS	= 13,};/*  call direction from 3GPP TS 07.07, Clause 7.17 */enum gsmd_call_dire {	GSMD_CALL_DIRE_MO	= 0,	GSMD_CALL_DIRE_MT	= 1,};/*  call state from 3GPP TS 07.07, Clause 7.17 */enum gsmd_call_stat {	GSMD_CALL_STAT_ACTIVE	= 0,	GSMD_CALL_STAT_HELD	= 1,	GSMD_CALL_STAT_DIALING	= 2,	GSMD_CALL_STAT_ALERTING	= 3,	GSMD_CALL_STAT_INCOMING	= 4,	GSMD_CALL_STAT_WAITING	= 5,};/*  call mode from 3GPP TS 07.07, Clause 7.17 */enum gsmd_call_mode {	GSMD_CALL_MODE_VOICE		= 0,	GSMD_CALL_MODE_DATA		= 1,	GSMD_CALL_MODE_FAX		= 2,	GSMD_CALL_MODE_VOICE_DATA	= 3,	GSMD_CALL_MODE_VOICE_DATA_ALT	= 4,	GSMD_CALL_MODE_VOICE_FAX_ALT	= 5,		GSMD_CALL_MODE_DATA_VOICE	= 6,	GSMD_CALL_MODE_DATA_VOICE_ALT	= 7,	GSMD_CALL_MODE_FAX_VOICE_ALT	= 8,	GSMD_CALL_MODE_UNKNOWN		= 9,};/*  multiparty(conference) from 3GPP TS 07.07, Clause 7.17 */enum gsmd_call_mpty {	GSMD_CALL_MPTY_NO	= 0,	GSMD_CALL_MPTY_YES	= 1,};/*  * call related supplementary services from 3GPP TS 02.30 4.5.5.1  * R - Release * A - Accept * H - Hold * M - Multiparty */enum gsmd_call_ctrl_proc {	GSMD_CALL_CTRL_R_HLDS			= 0,	// 0	GSMD_CALL_CTRL_UDUB			= 1,	// 0	GSMD_CALL_CTRL_R_ACTS_A_HLD_WAIT	= 2,	// 1		GSMD_CALL_CTRL_R_ACT_X			= 3,	// 1x	GSMD_CALL_CTRL_H_ACTS_A_HLD_WAIT	= 4,	// 2	GSMD_CALL_CTRL_H_ACTS_EXCEPT_X		= 5,	// 2x	GSMD_CALL_CTRL_M_HELD			= 6,	// 3};/* call forward reason from 3GPP TS 07.07 subclause 07.10 */enum gsmd_call_fwd_reason {	GSMD_CALL_FWD_REASON_UNCOND		= 0,	GSMD_CALL_FWD_REASON_BUSY		= 1, 	GSMD_CALL_FWD_REASON_NO_REPLY		= 2,	GSMD_CALL_FWD_REASON_NOT_REACHABLE	= 3,	GSMD_CALL_FWD_REASON_ALL_FORWARD	= 4,	GSMD_CALL_FWD_REASON_ALL_COND_FORWARD	= 5, };/* call forward status from 3GPP TS 07.07 subclause 07.10 */enum gsmd_call_fwd_status {	GSMD_CALL_FWD_STATUS_NOT_ACTIVE	= 0,	GSMD_CALL_FWD_STATUS_ACTIVE	= 1,};/* Handset / MT related commands */enum gsmd_msg_phone_type {	GSMD_PHONE_VOLUME	= 1,	GSMD_PHONE_VIBRATOR	= 2,};enum gsmd_msg_pin_type {	GSMD_PIN_INPUT		= 1,	GSMD_PIN_GET_STATUS     = 2,};enum gsmd_msg_phone {	GSMD_PHONE_POWERUP	= 1,	GSMD_PHONE_POWERDOWN	= 2,	GSMD_PHONE_GET_IMSI     = 3,	GSMD_PHONE_GET_MANUF	= 4,	GSMD_PHONE_GET_MODEL	= 5,	GSMD_PHONE_GET_REVISION	= 6,	GSMD_PHONE_GET_SERIAL	= 7,	GSMD_PHONE_GET_BATTERY  = 8,	GSMD_PHONE_VIB_ENABLE   = 9,	GSMD_PHONE_VIB_DISABLE  = 10,	GSMD_PHONE_POWER_STATUS = 11,};enum gsmd_msg_modem {	GSMD_MODEM_POWERUP	= 1,	GSMD_MODEM_POWERDOWN	= 2,};enum gsmd_msg_cb {	GSMD_CB_SUBSCRIBE	= 1,	GSMD_CB_UNSUBSCRIBE	= 2,};enum gsmd_msg_network {	GSMD_NETWORK_REGISTER	= 1,	GSMD_NETWORK_SIGQ_GET	= 2,	GSMD_NETWORK_VMAIL_GET	= 3,	GSMD_NETWORK_VMAIL_SET	= 4,	GSMD_NETWORK_OPER_GET	= 5,	GSMD_NETWORK_OPER_N_GET	= 6,	GSMD_NETWORK_OPER_LIST	= 7,	GSMD_NETWORK_CIND_GET	= 8,	GSMD_NETWORK_DEREGISTER	= 9,	GSMD_NETWORK_GET_NUMBER = 10,	GSMD_NETWORK_PREF_LIST  = 11,	GSMD_NETWORK_PREF_DEL   = 12,	GSMD_NETWORK_PREF_ADD   = 13,	GSMD_NETWORK_PREF_SPACE = 14,	GSMD_NETWORK_QUERY_REG  = 15,};enum gsmd_msg_sms {	GSMD_SMS_LIST			= 1,	GSMD_SMS_READ			= 2,	GSMD_SMS_SEND			= 3,	GSMD_SMS_WRITE			= 4,	GSMD_SMS_DELETE			= 5,	GSMD_SMS_GET_MSG_STORAGE	= 6,	GSMD_SMS_SET_MSG_STORAGE	= 7,	GSMD_SMS_GET_SERVICE_CENTRE	= 8,	GSMD_SMS_SET_SERVICE_CENTRE	= 9,};/* SMS stat from 3GPP TS 07.05, Clause 3.1 */enum gsmd_msg_sms_type {	GSMD_SMS_REC_UNREAD	= 0,	GSMD_SMS_REC_READ	= 1,	GSMD_SMS_STO_UNSENT	= 2,	GSMD_SMS_STO_SENT	= 3,	GSMD_SMS_ALL		= 4,};/* SMS format from 3GPP TS 07.05, Clause 3.2.3 */enum gsmd_msg_sms_fmt {	GSMD_SMS_FMT_PDU	= 0,	GSMD_SMS_FMT_TEXT	= 1,};/* Data Coding Scheme, refer to GSM 03.38 Clause 4 */#define B5_COMPRESSED	(1<<5)#define B4_CLASSMEANING	(1<<4)enum {	MESSAGE_CLASS_CLASS0		= 0x00,	MESSAGE_CLASS_CLASS1		= 0x01,	MESSAGE_CLASS_CLASS2		= 0x02,	MESSAGE_CLASS_CLASS3		= 0x03,};enum gsmd_sms_alphabet {	ALPHABET_DEFAULT		= (0x00<<2),	ALPHABET_8BIT			= (0x01<<2),	ALPHABET_UCS2			= (0x02<<2),	ALPHABET_RESERVED		= (0x03<<2),};/* bit 1 & bit0 */enum gsmd_sms_msg_class {	MSG_CLASS_CLASS0	= 0,	MSG_CLASS_CLASS1	= 1,	MSG_CLASS_CLASS2	= 2,	MSG_CLASS_CLASS3	= 3,	MSG_CLASS_NONE		= 4,};/* bit 3 & bit 2*/enum gsmd_sms_alphabet_type {	SMS_ALPHABET_7_BIT_DEFAULT 	= 0,	SMS_ALPHABET_8_BIT		= 1,	SMS_ALPHABET_UCS2		= 2,	SMS_ALPHABET_RESESRVED		= 3,};enum gsmd_sms_msg_compressed {	NOT_COMPRESSED	= 0,	COMPRESSED	= 1,};/* message waiting indication */enum gsmd_sms_msg_waiting_group {	MESSAGE_WAITING_NONE		= 0,	MESSAGE_WAITING_DISCARD	= 1,	MESSAGE_WAITING_STORE		= 2,	MESSAGE_WAITING_NONE_1111	= 3,};enum gsmd_sms_msg_waiting_type {	MESSAGE_WAITING_VOICEMAIL	= 0,	MESSAGE_WAITING_FAX 		= 1,	MESSAGE_WAITING_EMAIL 		= 2,	MESSAGE_WAITING_OTHER 		= 3,};enum gsmd_sms_msg_waiting_active {	NOT_ACTIVE	= 0,	ACTIVE		= 1,};struct gsmd_sms_datacodingscheme {	enum gsmd_sms_msg_class		        msg_class;	enum gsmd_sms_alphabet_type 		alphabet;	enum gsmd_sms_msg_compressed        	is_compressed;	enum gsmd_sms_msg_waiting_group 	mwi_group;	enum gsmd_sms_msg_waiting_active    	mwi_active;	enum gsmd_sms_msg_waiting_type    	mwi_kind;	u_int8_t                            	raw_dcs_data;} __attribute__ ((packed));/* Refer to GSM 03.40 subclause 9.2.3.1 */enum gsmd_sms_tp_mti {	GSMD_SMS_TP_MTI_DELIVER		= 0,	GSMD_SMS_TP_MTI_DELIVER_REPORT	= 0,	GSMD_SMS_TP_MTI_STATUS_REPORT	= 2,	GSMD_SMS_TP_MTI_COMMAND		= 2,	GSMD_SMS_TP_MTI_SUBMIT		= 1,	GSMD_SMS_TP_MTI_SUBMIT_REPORT	= 1,	GSMD_SMS_TP_MTI_RESERVED	= 3,};/* Refer to GSM 03.40 subclause 9.2.3.2, *//* for SMS-DELIVER, SMS-STATUS-REPORT */enum gsmd_sms_tp_mms {	GSMD_SMS_TP_MMS_MORE		= (0<<2),	GSMD_SMS_TP_MMS_NO_MORE		= (1<<2),};/* Refer to GSM 03.40 subclause 9.2.3.3, *//* for SMS-SUBMIT */enum gsmd_sms_tp_vpf {	GSMD_SMS_TP_VPF_NOT_PRESENT	= (0<<3),	GSMD_SMS_TP_VPF_RESERVED	= (1<<3),	GSMD_SMS_TP_VPF_RELATIVE	= (2<<3),		GSMD_SMS_TP_VPF_ABSOLUTE	= (3<<3),};/* Refer to GSM 03.40 subclause 9.2.3.4, *//* for SMS-DELIVER */enum gsmd_sms_tp_sri {	GSMD_SMS_TP_SRI_NOT_RETURN	= (0<<5),	GSMD_SMS_TP_SRI_STATUS_RETURN	= (1<<5),};/* Refer to GSM 03.40 subclause 9.2.3.5, *//* for SMS-SUBMIT, SMS-COMMAND */enum gsmd_sms_tp_srr {	GSMD_SMS_TP_SRR_NOT_REQUEST	= (0<<5),	GSMD_SMS_TP_SRR_STATUS_REQUEST	= (1<<5),};/* Refer to GSM 03.40 subclause 9.2.3.17, *//* for SMS-SUBMIT, SMS-DELIVER */enum gsmd_sms_tp_rp {	GSMD_SMS_TP_RP_NOT_SET		= (0<<7),	GSMD_SMS_TP_RP_SET		= (1<<7),};/* Refer to GSM 03.40 subclause 9.2.3.23 *//* for SMS-SUBMIT, SMS-DELIVER */enum gsmd_sms_tp_udhi {	GSMD_SMS_TP_UDHI_NO_HEADER	= (0<<6),	GSMD_SMS_TP_UDHI_WITH_HEADER	= (1<<6),};/* SMS delflg from 3GPP TS 07.05, Clause 3.5.4 */enum gsmd_msg_sms_delflg {	GSMD_SMS_DELFLG_INDEX		= 0,	GSMD_SMS_DELFLG_READ		= 1,	GSMD_SMS_DELFLG_READ_SENT	= 2,	GSMD_SMS_DELFLG_LEAVING_UNREAD	= 3,	GSMD_SMS_DELFLG_ALL		= 4,};enum gsmd_msg_phonebook {	GSMD_PHONEBOOK_FIND		= 1,	GSMD_PHONEBOOK_READ		= 2,	GSMD_PHONEBOOK_READRG		= 3,	GSMD_PHONEBOOK_WRITE		= 4,	GSMD_PHONEBOOK_DELETE		= 5,		GSMD_PHONEBOOK_GET_SUPPORT	= 6,	GSMD_PHONEBOOK_LIST_STORAGE	= 7,	GSMD_PHONEBOOK_SET_STORAGE	= 8,};/* Type-of-Address, Numbering-Plan-Identification field, GSM 03.40, 9.1.2.5 */enum gsmd_toa_npi {	GSMD_TOA_NPI_UNKNOWN		= 0x0,	GSMD_TOA_NPI_ISDN		= 0x1,	GSMD_TOA_NPI_DATA		= 0x3,	GSMD_TOA_NPI_TELEX		= 0x4,	GSMD_TOA_NPI_NATIONAL		= 0x8,	GSMD_TOA_NPI_PRIVATE		= 0x9,	GSMD_TOA_NPI_ERMES		= 0xa,	GSMD_TOA_NPI_RESERVED		= 0xf,};/* Type-of-Address, Type-of-Number field, GSM 03.40, Subclause 9.1.2.5 */enum gsmd_toa_ton {	GSMD_TOA_TON_UNKNOWN		= (0<<4),	GSMD_TOA_TON_INTERNATIONAL	= (1<<4),	GSMD_TOA_TON_NATIONAL		= (2<<4),	GSMD_TOA_TON_NETWORK		= (3<<4),	GSMD_TOA_TON_SUBSCRIBER		= (4<<4),	GSMD_TOA_TON_ALPHANUMERIC	= (5<<4),	GSMD_TOA_TON_ABBREVIATED	= (6<<4),	__GSMD_TOA_TON_MASK		= (7<<4),};/* Type-of-Address, bit 7 always 1 */enum gsmd_toa_reserved {	GSMD_TOA_RESERVED		= (1<<7),};/* Length from 3GPP TS 04.08, Clause 10.5.4.7 *//* battery connection status from 3GPP TS 07.07 subclause 8.4 */enum gsmd_bat_conn_status {	GSMD_BAT_NORMAL		= 0,	GSMD_BAT_NOT_POWERED	= 1,	GSMD_BAT_NO_BAT		= 2,	GSMD_BAT_POWER_FAULT	= 3,};#define GSMD_ADDR_MAXLEN	32struct gsmd_addr {	u_int8_t type;	char number[GSMD_ADDR_MAXLEN+1];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -