#ifndef __GLOBAL_H #define __GLOBAL_H #include "config.h" #include #include "utils.h" #include "log.h" #ifdef __MAIN_FILE_C #define GLOBAL_EXTERN #else #define GLOBAL_EXTERN extern #endif #define ICCID_LEN 23 #define ICCID_SIZE (ICCID_LEN + 1) #define IMSI_LEN 15 #define IMSI_SIZE (IMSI_LEN + 1) #define PLMN_ID_LEN_VZW 6 #define PLMN_ID_SIZE_VZW (PLMN_ID_LEN_VZW + 1) #define MODEL_LEN 1023 #define MODEL_SIZE (MODEL_LEN + 1) #define MANUFACTURER_LEN 1023 #define MANUFACTURER_SIZE (MANUFACTURER_LEN + 1) struct global_user { char *name; char *email; }; struct global_core { speed_t baud_rate; int read_timeout; int sms_init; char *device; int verbose; int interactive; char *msg_store_read; char *msg_store_send; char *msg_store_new; char *pb_store; char model[MODEL_SIZE]; char iccid[ICCID_SIZE]; /* Needed for Verizon 3GPP2 SMS format detection */ char imsi[IMSI_SIZE]; /* Needed for Verizon 3GPP2 SMS format detection */ char manufacturer[MANUFACTURER_SIZE]; /* Needed to pick proper manufacturer-specific commands */ char *editor; char *edit_file; }; struct global_smtp { char *server; int port; char *user; char *passwd; char *encryption; }; struct global_send_email { char *domain; }; struct global_config { struct global_user user; struct global_core core; struct global_smtp smtp; struct global_send_email send_email; }; GLOBAL_EXTERN struct global_config Global; #endif /* ~__GLOBAL_H */