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

📄 usock.h.svn-base

📁 Linux下gsm/gprs modem的看守程序。支持短信发送与接受。
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
} __attribute__ ((packed));struct gsmd_dtmf {	u_int8_t len;	char dtmf[0];} __attribute__ ((packed));struct gsmd_signal_quality {	u_int8_t rssi;	u_int8_t ber;} __attribute__ ((packed));struct gsmd_voicemail {	u_int8_t enable;	struct gsmd_addr addr;} __attribute__ ((packed));struct gsmd_battery_charge {	enum gsmd_bat_conn_status bcs;	u_int8_t bcl;} __attribute__ ((packed));#define GSMD_ALPHA_MAXLEN	20/* call status from 3GPP TS 07.07 clause 07.17 */struct gsmd_call_status {	int8_t idx;	u_int8_t dir;	u_int8_t stat;	u_int8_t mode;	u_int8_t mpty;	char number[GSMD_ADDR_MAXLEN+1];		u_int8_t type;	char alpha[GSMD_ALPHA_MAXLEN+1];	int is_last;	} __attribute__ ((packed));/* call status from 3GPP TS 07.07 clause 7.12 */struct gsmd_call_ctrl {	enum gsmd_call_ctrl_proc proc;		u_int8_t idx;} __attribute__ ((packed));/* call forwarding register from 3GPP TS 07.07 clause 7.10 */struct gsmd_call_fwd_reg {	enum gsmd_call_fwd_reason reason;	struct gsmd_addr addr;} __attribute__ ((packed));/* status of call forwarding from 3GPP TS 07.07 clause 7.10 */struct gsmd_call_fwd_stat {	enum gsmd_call_fwd_status status; 	u_int8_t classx;	struct gsmd_addr addr;	char subaddr[16+1];	u_int8_t satype;	u_int8_t time;	int is_last;	} __attribute__ ((packed));#define GSMD_PIN_MAXLEN		8struct gsmd_pin {	enum gsmd_pin_type type;	char pin[GSMD_PIN_MAXLEN+1];	char newpin[GSMD_PIN_MAXLEN+1];} __attribute__ ((packed));struct gsmd_evt_auxdata {	union {		struct {			enum gsmd_call_type type;		} call;		struct {			struct gsmd_addr addr;		} clip;		struct {			struct gsmd_addr addr;		} colp;		struct {			char alpha[GSMD_ALPHA_MAXLEN+1];			int inlined;			u_int8_t memtype;			int index;		} sms;		struct {			int inlined;			u_int8_t memtype;			int index;		} cbm;		struct {			int inlined;			u_int8_t memtype;			int index;		} ds;		struct {			enum gsmd_pin_type type;		} pin;		struct {			enum gsmd_netreg_state state;			u_int16_t lac;			u_int16_t ci;		} netreg;		struct {			u_int8_t tz;		} timezone;		struct {			struct gsmd_signal_quality sigq;		} signal;		struct {			enum gsmd_call_progress prog;			struct gsmd_addr addr;			u_int8_t ibt:1,				 tch:1,				 dir:2;		} call_status;		struct {			u_int16_t flags;			u_int16_t net_state_gsm;			u_int16_t net_state_gprs;		} cipher;		struct {			enum gsm0707_cme_error number;		} cme_err;		struct {			enum gsm0705_cms_error number;		} cms_err;		struct {			struct gsmd_addr addr;			u_int8_t classx;			char	alpha[GSMD_ALPHA_MAXLEN+1];			u_int8_t cli; 		} ccwa;	} u;	u_int8_t data[0];        } __attribute__ ((packed));/* Refer to GSM 07.05 subclause 3.5.4 */struct gsmd_sms_delete {	u_int8_t index;	u_int8_t delflg;	} __attribute__ ((packed));/* Refer to GSM 03.40 subclause 9.2.2.2 and GSM 07.05 subclause 4.3 */#define GSMD_SMS_DATA_MAXLEN	164 struct gsmd_sms {	u_int8_t length;		u_int8_t coding_scheme;	int has_header;	int is_voicemail;	struct gsmd_sms_datacodingscheme dcs;	enum gsmd_sms_tp_mti tp_mti;	u_int8_t data[GSMD_SMS_DATA_MAXLEN+1];	} __attribute__ ((packed));/* Refer to GSM 03.40 subclause 9.2.2.2 */struct gsmd_sms_submit {	struct gsmd_addr addr;	struct gsmd_sms payload;	int ask_ds;};/* Refer to GSM 07.05 subclause 4.4 */struct gsmd_sms_write {	u_int8_t stat;	struct gsmd_sms_submit sms;} __attribute__ ((packed));/* Refer to GSM 03.40 subclause 9.2.2.1 */struct gsmd_sms_list {	/* FIXME Defined as in range of location numbers supported by memory */	u_int8_t index;	enum gsmd_msg_sms_type stat;	char time_stamp[7];		struct gsmd_addr addr;	struct gsmd_sms payload;	int is_last;};/* Refer to GSM 07.05 subclause 3.1 */enum ts0705_mem_type {	GSM0705_MEMTYPE_NONE,	GSM0705_MEMTYPE_BROADCAST,	GSM0705_MEMTYPE_ME_MESSAGE,	GSM0705_MEMTYPE_MT,	GSM0705_MEMTYPE_SIM,	GSM0705_MEMTYPE_TA,	GSM0705_MEMTYPE_SR,};/* Refer to GSM 07.05 subclause 3.2.2 */struct __gsmd_sms_storage {	u_int8_t memtype;	u_int8_t pad[3];	u_int16_t used;	u_int16_t total;} __attribute__ ((packed));struct gsmd_sms_storage {	struct __gsmd_sms_storage mem[3];} __attribute__ ((packed));/* Refer to GSM 03.41 subclause 9.3.1 - note: this indicates display mode too */enum gsmd_geographical_scope {	GSMD_SCOPE_CELL_WIDE_OPER	= 0,	GSMD_SCOPE_PLMN_WIDE,	GSMD_SCOPE_LOC_AREA_WIDE,	GSMD_SCOPE_CELL_WIDE,};enum gsmd_language {	GSMD_LANG_GERMAN	= 0,	GSMD_LANG_ENGLISH,	GSMD_LANG_ITALIAN,	GSMD_LANG_FRENCH,	GSMD_LANG_SPANISH,	GSMD_LANG_DUTCH,	GSMD_LANG_SWEDISH,	GSMD_LANG_DANISH,	GSMD_LANG_PORTUGUESE,	GSMD_LANG_FINNISH,	GSMD_LANG_NORWEGIAN,	GSMD_LANG_GREEK,	GSMD_LANG_TURKISH,	GSMD_LANG_HUNGARIAN,	GSMD_LANG_POLISH,	GSMD_LANG_UNSPECIFIED,};/* Refer to GSM 03.41 subclause 9.3 */struct gsmd_cbm {	struct {		enum gsmd_geographical_scope scope;		int msg_code;		int update_num;	} serial;	u_int16_t msg_id;	enum gsmd_language language;	u_int8_t coding_scheme;	int pages;	int page;	u_int8_t data[82];};/* Refer to GSM 07.07 subclause 8.12 */struct gsmd_phonebook_readrg {	u_int8_t index1;	u_int8_t index2;	} __attribute__ ((packed));/* Refer to GSM 07.07 subclause 8.14 *//* FIXME: the nlength and tlength depend on SIM, use +CPBR=? to get */ #define	GSMD_PB_NUMB_MAXLEN	44#define GSMD_PB_TEXT_MAXLEN	14struct gsmd_phonebook {	int8_t index;	char numb[GSMD_PB_NUMB_MAXLEN+1];	u_int8_t type;	char text[GSMD_PB_TEXT_MAXLEN+1];} __attribute__ ((packed));struct gsmd_phonebooks {	struct gsmd_phonebook pb;	int8_t is_last;} __attribute__ ((packed));/* Refer to GSM 07.07 subclause 8.13 *//* FIXME: the tlength depends on SIM, use +CPBR=? to get */ struct gsmd_phonebook_find {		char findtext[GSMD_PB_TEXT_MAXLEN+1];} __attribute__ ((packed));/* Refer to GSM 07.07 subclause 8.12 */struct gsmd_phonebook_support {		u_int8_t index;	u_int8_t nlength;	u_int8_t tlength;} __attribute__ ((packed));/* Operator status from 3GPP TS 07.07, Clause 7.3 */enum gsmd_oper_status {	GSMD_OPER_UNKNOWN,	GSMD_OPER_AVAILABLE,	GSMD_OPER_CURRENT,	GSMD_OPER_FORBIDDEN,};/* Theoretically numeric operator code is five digits long but some * operators apparently use six digit codes.  */typedef char gsmd_oper_numeric[6];struct gsmd_msg_oper {	enum gsmd_oper_status stat;	int is_last;	char opname_longalpha[16];	char opname_shortalpha[8];	gsmd_oper_numeric opname_num;};struct gsmd_msg_prefoper {	int index;	int is_last;	char opname_longalpha[16];};/* Refer to GSM 07.07 subclause 8.11 */struct gsmd_phonebook_mem {	u_int8_t type[3];	u_int8_t pad;	u_int16_t used;	u_int16_t total;} __attribute__ ((packed));struct gsmd_phonebook_storage {	/* FIXME the amount of phonebook storage should be dynamic */	u_int8_t num;	struct gsmd_phonebook_mem mem[20];} __attribute__ ((packed));/* Subscriber number information from 3GPP TS 07.07, Clause 7.1 */enum gsmd_subscriber_service {	GSMD_SERVICE_UNKNOWN		= -1,	GSMD_SERVICE_ASYNC_MODEM	= 0,	GSMD_SERVICE_SYNC_MODEM,	GSMD_SERVICE_PAD_ACCESS,	GSMD_SERVICE_PACKET_ACCESS,	GSMD_SERVICE_VOICE,	GSMD_SERVICE_FAX,};struct gsmd_own_number {	int is_last;	enum gsmd_subscriber_service service;	struct gsmd_addr addr;	char name[0];};struct gsmd_msg_hdr {	u_int8_t version;	u_int8_t msg_type;	u_int8_t msg_subtype;	u_int8_t _pad;	u_int16_t id;	u_int16_t len;	u_int8_t data[];} __attribute__((packed));struct gsmd_msg_auxdata {    union {        struct {            struct gsmd_signal_quality sigq;        } signal;        struct {            char name[16];        } current_operator;        /* add more here please */    } u;    u_int8_t data[0];} __attribute__ ((packed));#ifdef __GSMD__#include <gsmd/usock.h>#include <gsmd/gsmd.h>#include <common/linux_list.h>struct gsmd_user;struct gsmd_ucmd {	struct llist_head list;	struct gsmd_msg_hdr hdr;	char buf[];} __attribute__ ((packed));extern struct gsmd_ucmd *ucmd_alloc(int extra_size);extern int usock_init(struct gsmd *g);extern void usock_cmd_enqueue(struct gsmd_ucmd *ucmd, struct gsmd_user *gu);extern struct gsmd_ucmd *usock_build_event(u_int8_t type, u_int8_t subtype, u_int16_t len);extern int usock_evt_send(struct gsmd *gsmd, struct gsmd_ucmd *ucmd, u_int32_t evt);extern int gsmd_ucmd_submit(struct gsmd_user *gu, u_int8_t msg_type,		u_int8_t msg_subtype, u_int16_t id, int len, const void *data);extern int gsmd_opname_init(struct gsmd *g);extern int gsmd_opname_add(struct gsmd *g, const char *numeric_bcd_string,		const char *alnum_long);#endif /* __GSMD__ */#endif

⌨️ 快捷键说明

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