Для начала, следующие проблемы могут вызвать проблемы:
if((error = gn_lib_phoneprofile_load(CONFIG_FILE,&state))
state
переменная здесь не инициализируется. Это приведет к передаче случайного указателя и, скорее всего, к segfault.
Далее, первый аргумент gn_lib_phoneprofile_load()
- это не имя файла конфигурации, а раздел телефона в конфигурации, где указаны подробности подключения. Учитывая, что вы передаете config
в качестве этого параметра вам нужно:
[phone_config]
connection = bluetooth
port = 24:22:AB:AB:C1:F8
model = AT
rfcomm_channel = 2
но помещается в стандартное расположение файла конфигурации gnokii. Чтобы использовать другое местоположение, используйте:
gn_lib_phoneprofile_load_from_file(CONFIG_FILE, NULL, &state);
Второй аргумент - имя телефонного раздела. Если NULL, то будет использоваться [global]
.
Дополнительно gn_lib_phoneprofile_load()
просто читает файл конфигурации. Вам нужно запустить gn_lib_phone_open()
, чтобы инициализировать соединение.
Наконец, подобный код уже написан, не нужно изобретать велосипед: http://git.savannah.gnu.org/cgit/gnokii/gnokii-extras.git/tree/snippets/sms/sms_status.c