#include #include #include #include #include #include #include struct gn_statemachine state; static gn_error show_memory_status(const char *name, gn_memory_type type) { gn_memory_status stat; gn_data data; gn_error error; gn_data_clear(&data); stat.memory_type = type; data.memory_status = &stat; if ((error = gn_sm_functions(GN_OP_GetMemoryStatus, &data, &state)) != GN_ERR_NONE) return error; printf("%s: Used %d, Free %d\n", name, stat.used, stat.free); return GN_ERR_NONE; } int main(int argc, const char *argv[]) { gn_error error; char *bindir; /* read the config */ if (gn_cfg_read(&bindir) < 0) exit(1); if (!gn_cfg_phone_load("", &state) == GN_ERR_NONE) exit(1); /* initialise the connection */ if ((error = gn_gsm_initialise(&state)) != GN_ERR_NONE) { fprintf(stderr, "Telephone interface init failed: %s Quitting.\n", gn_error_print(error)); exit(2); } if (setlocale(LC_CTYPE, "hu_HU.utf8")==NULL) { fprintf(stderr, "problem whilst changing locale"); return 1; } /* do something */ show_memory_status("IN", GN_MT_IN); //sms sending gn_sms sms; gn_data data; gn_sms_default_submit(&sms); char *text; text="próba üzenet!"; memset(&sms.remote.number, 0, sizeof(sms.remote.number)); strcpy(sms.remote.number, "06304945862"); data.message_center = calloc(1, sizeof(gn_sms_message_center)); data.message_center->id = 1; if (gn_sm_functions(GN_OP_GetSMSCenter, &data, &state) == GN_ERR_NONE) { strcpy(sms.smsc.number, data.message_center->smsc.number); sms.smsc.type = data.message_center->smsc.type; } else fprintf (stderr, "\nCOULD NOT READ SMSC NUMBER: %s\n", gn_error_print(error)); if (!gn_char_def_alphabet(sms.user_data[0].u.text)) sms.dcs.u.general.alphabet = GN_SMS_DCS_UCS2; sms.remote.type = GN_GSM_NUMBER_Unknown; data.message_center = calloc(1, sizeof(gn_sms_message_center)); data.message_center->id = 1; sms.delivery_report = 1; strcpy((char*)sms.user_data[0].u.text, text); sms.user_data[0].length = strlen(text); sms.user_data[0].u.text[strlen(text)] = 0; sms.user_data[0].type = GN_SMS_DATA_Text; data.sms = &sms; //ready to send!! error = gn_sms_send(&data, &state); /* tear down the connection */ gn_sm_functions(GN_OP_Terminate, NULL, &state); return 0; }