State machine

GSM_Error GSM_InitConnection_Log(GSM_StateMachine * s, int ReplyNum, GSM_Log_Function log_function, void *user_data)
Parameters:
  • s – State machine data
  • ReplyNum – Number of replies to await (usually 3).
  • log_function – Logging function, see GSM_SetDebugFunction.
  • user_data – User data for logging function, see GSM_SetDebugFunction.
Returns:

Error code

Initiates connection with custom logging callback.

GSM_Error GSM_InitConnection(GSM_StateMachine * s, int ReplyNum)
Parameters:
  • s – State machine data
  • ReplyNum – Number of replies to await (usually 1). Higher value makes sense only on unreliable links.
Returns:

Error code

Initiates connection.

GSM_Error GSM_TerminateConnection(GSM_StateMachine * s)
Parameters:
  • s – State machine data
Returns:

Error code

Terminates connection.

GSM_Error GSM_AbortOperation(GSM_StateMachine * s)
Parameters:
  • s – State machine data
Returns:

Error code

Aborts current operation.

This is thread safe call to abort any existing operations with the phone.

GSM_StateMachine

Private structure holding information about phone connection. Should be allocated by GSM_AllocStateMachine() and freed by GSM_FreeStateMachine().

GSM_ConnectionType

Connection types definitions.

GSM_Config

Configuration of state machine.

char Model[50]

Model from config file.

GSM_Log_Function
Parameters:
  • text – Text to be printed, n will be also sent (as a separate message).
  • data – Arbitrary logger data, as passed to GSM_InitConnection_Log().
Returns:

void

Type of callback function for logging.

int GSM_ReadDevice(GSM_StateMachine * s, gboolean waitforreply)

Attempts to read data from phone. This can be used for getting status of incoming events, which would not be found out without polling device.

Parameters:
  • s -

    State machine data

  • waitforreply -

    Whether to wait for some event

Return:

Number of read bytes

gboolean GSM_IsConnected(GSM_StateMachine * s)

Detects whether state machine is connected.

Parameters:
  • s -

    State machine data

Return:

Whether phone is connected.

GSM_Error GSM_FindGammuRC(INI_Section ** result, const char * force_config)

Finds and reads gammu configuration file. The search order depends on platform. On POSIX systems it looks for ~/.gammurc and then for /etc/gammurc, on Windows for gammurc in Application data folder, then in home and last fallback is in current driectory.

Parameters:
  • result -

    Ini file representation

  • force_config -

    Forcing of custom path instead of autodetected one (if NULL, autodetection is performed).

Return:

Error code

GSM_Error GSM_ReadConfig(INI_Section * cfg_info, GSM_Config * cfg, int num)

Processes gammu configuration.

Parameters:
  • cfg_info -

    Ini file representation.

  • cfg -

    Where to store configuration.

  • num -

    Number of section to read.

Return:

Whether we got valid configuration. Especially check for ERR_USING_DEFAULTS.

See:

GSM_FallbackConfig

GSM_Config * GSM_GetConfig(GSM_StateMachine * s, int num)

Gets gammu configuration from state machine. This actually returns pointer to internal configuration storage, so you can use it also for updating existing settings.

Parameters:
  • s -

    State machine data

  • num -

    Number of section to read, -1 for currently used.

Return:

Pointer to configuration.

int GSM_GetConfigNum(const GSM_StateMachine * s)

Gets number of active gammu configurations.

Parameters:
  • s -

    State machine data

Return:

Number of sections.

void GSM_SetConfigNum(GSM_StateMachine * s, int sections)

Gets number of active gammu configurations.

Parameters:
  • s -

    State machine data

  • sections -

    Number of sections.

GSM_StateMachine * GSM_AllocStateMachine(void)

Allocates new clean state machine structure. You should free it then by GSM_FreeStateMachine.

Return:Pointer to state machine structure.

void GSM_FreeStateMachine(GSM_StateMachine * s)

Frees state machine structure allocated by GSM_AllocStateMachine.

Parameters:
  • s -

    Pointer to state machine structure.

GSM_ConnectionType GSM_GetUsedConnection(GSM_StateMachine * s)

Gets number of active gammu configurations.

Parameters:
  • s -

    State machine data

Return:

Connection type.

struct GSM_Config
#include <gammu-statemachine.h>

Configuration of state machine.

Public Members

char Model[50]

Model from config file

char DebugLevel[50]

Debug level

char * Device

Device name from config file

char * Connection

Connection type as string

gboolean SyncTime

Synchronize time on startup?

gboolean LockDevice

Lock device ? (Unix)

char * DebugFile

Name of debug file

gboolean StartInfo

Display something during start ?

gboolean UseGlobalDebugFile

Should we use global debug file?

char TextReminder[32]

Text for reminder calendar entry category in local language

char TextMeeting[32]

Text for meeting calendar entry category in local language

char TextCall[32]

Text for call calendar entry category in local language

char TextBirthday[32]

Text for birthday calendar entry category in local language

char TextMemo[32]

Text for memo calendar entry category in local language

GSM_Feature PhoneFeatures[GSM_MAX_PHONE_FEATURES+1]

Phone features override.

Previous topic

SMSD

Next topic

Types

This Page