Gammu API  1.33.90
Info

Data Structures

struct  GSM_CodeName
struct  GSM_NetworkInfo
struct  GSM_SignalQuality
struct  GSM_BatteryCharge
struct  GSM_DisplayFeatures
struct  GSM_PhoneModel

Enumerations

enum  GSM_NetworkInfo_State {
  GSM_HomeNetwork = 1, GSM_NoNetwork, GSM_RoamingNetwork, GSM_RegistrationDenied,
  GSM_NetworkStatusUnknown, GSM_RequestingNetwork
}
enum  GSM_GPRS_State { GSM_GPRS_Detached = 1, GSM_GPRS_Attached }
enum  GSM_ChargeState {
  GSM_BatteryPowered = 1, GSM_BatteryConnected, GSM_BatteryCharging, GSM_BatteryNotConnected,
  GSM_BatteryFull, GSM_PowerFault
}
enum  GSM_BatteryType { GSM_BatteryUnknown = 0, GSM_BatteryNiMH = 1, GSM_BatteryLiIon, GSM_BatteryLiPol }
enum  GSM_DisplayFeature {
  GSM_CallActive = 1, GSM_SMSMemoryFull, GSM_FaxCall, GSM_UnreadSMS,
  GSM_DataCall, GSM_VoiceCall, GSM_KeypadLocked
}
enum  GSM_Feature {
  F_CAL33 = 1, F_CAL52, F_CAL82, F_RING_SM,
  F_NORING, F_NOPBKUNICODE, F_NOWAP, F_NOCALLER,
  F_NOPICTURE, F_NOPICTUREUNI, F_NOSTARTUP, F_NOCALENDAR,
  F_NOSTARTANI, F_POWER_BATT, F_PROFILES33, F_PROFILES51,
  F_MAGICBYTES, F_NODTMF, F_DISPSTATUS, F_NOCALLINFO,
  F_DAYMONTH, F_PBK35, F_PBKIMG, F_PBKTONEGAL,
  F_PBKSMSLIST, F_PBKUSER, F_6230iCALLER, F_RADIO,
  F_TODO63, F_TODO66, F_NOMIDI, F_BLUETOOTH,
  F_NOFILESYSTEM, F_NOMMS, F_NOGPRSPOINT, F_CAL35,
  F_CAL65, F_WAPMMSPROXY, F_CHAT, F_SYNCML,
  F_FILES2, F_NOFILE1, F_6230iWAP, F_PROFILES,
  F_SERIES40_30, F_SMS_FILES, F_3220_MMS, F_VOICETAGS,
  F_CAL62, F_NOTES, F_SMSONLYSENT, F_BROKENCPBS,
  F_M20SMS, F_SLOWWRITE, F_SMSME900, F_ALCATEL,
  F_OBEX, F_IRMC_LEVEL_2, F_MODE22, F_SMS_LOCATION_0,
  F_NO_UCS2, F_FORCE_UTF8, F_SMS_SM, F_SMS_ME,
  F_XLNK, F_SUBMIT_SIM_ONLY, F_PBK_UNICODE, F_SQWE,
  F_NO_ATOBEX, F_LENGTH_BYTES, F_BROKEN_CMGL, F_EXTRA_PBK_FIELD,
  F_CKPD_NO_UNICODE, F_CPROT, F_PBKFAVORITEMESSAGE, F_PBKNOPOSTAL,
  F_PBK_ENCODENUMBER, F_NO_CLIP, F_ENCODED_USSD, F_USE_SMSTEXTMODE,
  F_CPIN_NO_OK, F_FOUR_DIGIT_YEAR, F_SMS_NO_ME, F_SMS_NO_SM,
  F_SIEMENS_PBK, F_NO_ATSYNCML, F_MOBEX, F_TSSPCSW,
  F_DISABLE_GETNEXT, F_DISABLE_GETNEXTSMS, F_DISABLE_CMGL, F_NO_UTF8,
  F_SAMSUNG_UTF8, F_SMS_UTF8_ENCODED, F_NO_STOP_CUSD, F_READ_SMSTEXTMODE,
  F_LAST_VALUE
}

Functions

const unsigned char * GSM_GetNetworkName (const char *NetworkCode)
const unsigned char * GSM_GetCountryName (const char *CountryCode)
const char * GSM_FeatureToString (GSM_Feature feature)
GSM_Feature GSM_FeatureFromString (const char *feature)
gboolean GSM_IsPhoneFeatureAvailable (GSM_PhoneModel *model, GSM_Feature feature)
gboolean GSM_AddPhoneFeature (GSM_PhoneModel *model, GSM_Feature feature)
GSM_Error GSM_GetManufacturer (GSM_StateMachine *s, char *value)
GSM_Error GSM_GetModel (GSM_StateMachine *s, char *value)
GSM_PhoneModelGSM_GetModelInfo (GSM_StateMachine *s)
GSM_Error GSM_GetFirmware (GSM_StateMachine *s, char *value, char *date, double *num)
GSM_Error GSM_GetIMEI (GSM_StateMachine *s, char *value)
GSM_Error GSM_GetOriginalIMEI (GSM_StateMachine *s, char *value)
GSM_Error GSM_GetManufactureMonth (GSM_StateMachine *s, char *value)
GSM_Error GSM_GetProductCode (GSM_StateMachine *s, char *value)
GSM_Error GSM_GetHardware (GSM_StateMachine *s, char *value)
GSM_Error GSM_GetPPM (GSM_StateMachine *s, char *value)
GSM_Error GSM_GetSIMIMSI (GSM_StateMachine *s, char *IMSI)
GSM_Error GSM_GetBatteryCharge (GSM_StateMachine *s, GSM_BatteryCharge *bat)
GSM_Error GSM_GetSignalQuality (GSM_StateMachine *s, GSM_SignalQuality *sig)
GSM_Error GSM_GetNetworkInfo (GSM_StateMachine *s, GSM_NetworkInfo *netinfo)
GSM_Error GSM_GetDisplayStatus (GSM_StateMachine *s, GSM_DisplayFeatures *features)

Variables

const GSM_CodeName GSM_Networks []
const GSM_CodeName GSM_Countries []

Detailed Description

Phone information.

Enumeration Type Documentation

Power source

Enumerator:
GSM_BatteryUnknown 

Unknown battery

GSM_BatteryNiMH 

NiMH battery

GSM_BatteryLiIon 

Lithium Ion battery

GSM_BatteryLiPol 

Lithium Polymer battery

Definition at line 208 of file gammu-info.h.

Power source

Enumerator:
GSM_BatteryPowered 

Powered from battery

GSM_BatteryConnected 

Powered from AC, battery connected

GSM_BatteryCharging 

Powered from AC, battery is charging

GSM_BatteryNotConnected 

Powered from AC, no battery

GSM_BatteryFull 

Powered from AC, battery is fully charged

GSM_PowerFault 

Power failure

Definition at line 176 of file gammu-info.h.

Display feature

Enumerator:
GSM_CallActive 
GSM_SMSMemoryFull 

blinking envelope

GSM_FaxCall 
GSM_UnreadSMS 
GSM_DataCall 
GSM_VoiceCall 
GSM_KeypadLocked 

Definition at line 280 of file gammu-info.h.

Phone features definition. This is usually used for things, which can not be determined on run time.

Enumerator:
F_CAL33 

Calendar,3310 style - 10 reminders, Unicode, 3 coding types

F_CAL52 

Calendar,5210 style - full Unicode, etc.

F_CAL82 

Calendar,8250 style - "normal", but with Unicode

F_RING_SM 

Ringtones returned in SM format - 33xx

F_NORING 

No ringtones

F_NOPBKUNICODE 

No phonebook in Unicode

F_NOWAP 

No WAP

F_NOCALLER 

No caller groups

F_NOPICTURE 

No Picture Images

F_NOPICTUREUNI 

No Picture Images text in Unicode

F_NOSTARTUP 

No startup logo

F_NOCALENDAR 

No calendar

F_NOSTARTANI 

Startup logo is not animated

F_POWER_BATT 

Network and battery level get from netmonitor

F_PROFILES33 

Phone profiles in 3310 style

F_PROFILES51 

Phone profiles in 5110 style

F_MAGICBYTES 

Phone can make authentication with magic bytes

F_NODTMF 

Phone can't send DTMF

F_DISPSTATUS 

Phone return display status

F_NOCALLINFO 

Phone does not return call info

F_DAYMONTH 

Day and month reversed in pbk, when compare to GSM models

F_PBK35 

Phonebook in 3510 style with ringtones ID

F_PBKIMG 

Phonebook in 7250 style with picture ID

F_PBKTONEGAL 

Phonebook with selecting ringtones from gallery

F_PBKSMSLIST 

Phonebook with SMS list

F_PBKUSER 

Phonebook with user ID

F_6230iCALLER 

Caller groups like in 6230i

F_RADIO 

Phone with FM radio

F_TODO63 

ToDo in 6310 style - 0x55 msg type

F_TODO66 

ToDo in 6610 style - like calendar, with date and other

F_NOMIDI 

No ringtones in MIDI

F_BLUETOOTH 

Bluetooth support

F_NOFILESYSTEM 

No images, ringtones, java saved in special filesystem

F_NOMMS 

No MMS sets in phone

F_NOGPRSPOINT 

GPRS point are not useable

F_CAL35 

Calendar,3510 style - Reminder,Call,Birthday

F_CAL65 

Calendar,6510 style - CBMM, method 3

F_WAPMMSPROXY 

WAP & MMS settings contains first & second proxy

F_CHAT 

Phone with Chat settings

F_SYNCML 

Phone with SyncML settings

F_FILES2 

Filesystem version 2

F_NOFILE1 

No filesystem version 1

F_6230iWAP 

WAP, MMS, etc. settings like in 6230i - unknown now

F_PROFILES 

Profiles support available

F_SERIES40_30 

Series 40 3.0

F_SMS_FILES 

SMS are read from filesystem files like in Series 40 3.0

F_3220_MMS 

MMS storage as in 3320

F_VOICETAGS 

Voice tags available

F_CAL62 

Calendar,6210 style - Call,Birthday,Memo,Meeting

F_NOTES 

Notes supported

F_SMSONLYSENT 

Phone supports only sent/unsent messages

F_BROKENCPBS 

CPBS on some memories can hang phone

F_M20SMS 

Siemens M20 like SMS handling

F_SLOWWRITE 

Use slower writing which some phone need

F_SMSME900 

SMS in ME start from location 900 - case of Sagem

F_ALCATEL 

Phone supports Alcatel protocol

F_OBEX 

Phone can switch to OBEX protocol from AT mode

F_IRMC_LEVEL_2 

Phone supports IrMC level 2 even if it doesn't report it

F_MODE22 

Switching to OBEX mode is done using AT+MODE=22

F_SMS_LOCATION_0 

Locations of SMS memories start from 0

F_NO_UCS2 

Phone does not support UCS2 even if it reports it.

F_FORCE_UTF8 

Phone returns strings in utf-8 even if it reports GSM.

F_SMS_SM 

Phone supports SM storage for SMS even if it does not report so.

F_SMS_ME 

Phone supports ME storage for SMS even if it does not report so.

F_XLNK 

Switching to OBEX mode is done using AT+XLNK.

F_SUBMIT_SIM_ONLY 

Submit messages can be saved on SM memory only.

F_PBK_UNICODE 

Prefer Unicode for phone book manipulations.

F_SQWE 

Switching to OBEX mode using AT^SQWE=3.

F_NO_ATOBEX 

Do not use OBEX/AT switching even if available.

F_LENGTH_BYTES 

Length of text for contact is in bytes and not chars.

F_BROKEN_CMGL 

CMGL does not list real locations for CMGR, these should be sequential.

F_EXTRA_PBK_FIELD 

Phonebook has extra numeric field at the end.

F_CKPD_NO_UNICODE 

Key presses can not be in unicode.

F_CPROT 

OBEX switching using AT+CPROT even if phone does not report it properly.

F_PBKFAVORITEMESSAGE 

Phonebook with favorite messaging numbers

F_PBKNOPOSTAL 

No support for postal entry in phonebook.

F_PBK_ENCODENUMBER 

Encode number in HEX charset.

F_NO_CLIP 

Do not use CLIP (phone hangs on it).

F_ENCODED_USSD 

USSD propmts and responses are encoded like PDU in SMS (packed 7-bit GSM encoding).

F_USE_SMSTEXTMODE 

Phone has better support for SMS text mode (rather than PDU mode)

F_CPIN_NO_OK 

Phone does not end CPIN reply with OK/ERROR.

F_FOUR_DIGIT_YEAR 

Phone require four digit year in time.

F_SMS_NO_ME 

Phone does not have a phone SMS memory even if it reports so.

F_SMS_NO_SM 

Phone does not have a SIM SMS memory even if it reports so.

F_SIEMENS_PBK 

Phone supports Siemens style phonebook even if it does not tell so.

F_NO_ATSYNCML 

Disable AT+SYNCML probing.

F_MOBEX 

Phone supports m-obex (usually Samsung phones).

F_TSSPCSW 

Phone supports m-obex (usually Samsung phones) using AT$TSSPCSW=1.

F_DISABLE_GETNEXT 

Disable GetNext* operations on the dummy phone.

F_DISABLE_GETNEXTSMS 

Disable GetNextSMS operations on the dummy phone.

F_DISABLE_CMGL 

CMGL hangs, so should not be used.

F_NO_UTF8 

Phone does not support UTF8 even if it reports it.

F_SAMSUNG_UTF8 

Samsung B2100 in UCS-2 mode provides a garbled UTF-8 instead.

F_SMS_UTF8_ENCODED 

SMS text is always UTF-8 encoded.

F_NO_STOP_CUSD 

Avoid forcibly stopping CUSD session.

F_READ_SMSTEXTMODE 

Reading og SMSes in text mode.

F_LAST_VALUE 

Just marker of highest feature code, should not be used.

Definition at line 309 of file gammu-info.h.

Status of GPRS connection.

Enumerator:
GSM_GPRS_Detached 

GRPS is detached.

GSM_GPRS_Attached 

GRPS is attached.

Definition at line 94 of file gammu-info.h.

Status of network logging

Enumerator:
GSM_HomeNetwork 

Home network for used SIM card.

GSM_NoNetwork 

No network available for used SIM card.

GSM_RoamingNetwork 

SIM card uses roaming.

GSM_RegistrationDenied 

Network registration denied - card blocked or expired or disabled.

GSM_NetworkStatusUnknown 

Unknown network status.

GSM_RequestingNetwork 

Network explicitely requested by user.

Definition at line 62 of file gammu-info.h.

Function Documentation

gboolean GSM_AddPhoneFeature ( GSM_PhoneModel model,
GSM_Feature  feature 
)

Adds feature to phone configuration.

Parameters
modelModel information (you can get it using GSM_GetModelInfo).
featureGSM_Feature to check for.
Returns
True if phone has defined this feature.
GSM_Feature GSM_FeatureFromString ( const char *  feature)

Converts feature string to value.

Parameters
featureGSM_Feature string to convert.
Returns
GSM_Feature value, 0 on failure.
const char* GSM_FeatureToString ( GSM_Feature  feature)

Converts feature value to string.

Parameters
featureGSM_Feature to convert.
Returns
Pointer to static string with string for specified feature, NULL on failure.
GSM_Error GSM_GetBatteryCharge ( GSM_StateMachine s,
GSM_BatteryCharge bat 
)

Gets information about batery charge and phone charging state.

const unsigned char* GSM_GetCountryName ( const char *  CountryCode)

Find country name from given country code.

GSM_Error GSM_GetDisplayStatus ( GSM_StateMachine s,
GSM_DisplayFeatures features 
)

Acquired display status.

GSM_Error GSM_GetFirmware ( GSM_StateMachine s,
char *  value,
char *  date,
double *  num 
)

Reads firmware information from phone.

Parameters
sState machine pointer.
valuePointer where to store revision text
datePointer where to store revision date
numPointer where to store revision number
Returns
Error code.
GSM_Error GSM_GetHardware ( GSM_StateMachine s,
char *  value 
)

Gets hardware information about device.

GSM_Error GSM_GetIMEI ( GSM_StateMachine s,
char *  value 
)

Reads IMEI/serial number from phone.

Parameters
sState machine pointer.
valuePointer where to store IMEI, NULL to ignore.
Returns
Error code.
GSM_Error GSM_GetManufactureMonth ( GSM_StateMachine s,
char *  value 
)

Gets month when device was manufactured.

GSM_Error GSM_GetManufacturer ( GSM_StateMachine s,
char *  value 
)

Reads manufacturer from phone.

Parameters
sState machine pointer.
valuePointer where to store manufacturer name
Returns
Error code.
GSM_Error GSM_GetModel ( GSM_StateMachine s,
char *  value 
)

Reads model from phone.

Parameters
sState machine pointer.
valuePointer where to store model name
Returns
Error code.
GSM_PhoneModel* GSM_GetModelInfo ( GSM_StateMachine s)

Reads model info from state machine.

Parameters
sState machine pointer.
Returns
Pointer to phone information structure.
GSM_Error GSM_GetNetworkInfo ( GSM_StateMachine s,
GSM_NetworkInfo netinfo 
)

Gets network information.

const unsigned char* GSM_GetNetworkName ( const char *  NetworkCode)

Find network name from given network code.

GSM_Error GSM_GetOriginalIMEI ( GSM_StateMachine s,
char *  value 
)

Gets date and time from phone.

GSM_Error GSM_GetPPM ( GSM_StateMachine s,
char *  value 
)

Gets PPM (Post Programmable Memory) info from phone (in other words for Nokia get, which language pack is in phone)

GSM_Error GSM_GetProductCode ( GSM_StateMachine s,
char *  value 
)

Gets product code of device.

GSM_Error GSM_GetSignalQuality ( GSM_StateMachine s,
GSM_SignalQuality sig 
)

Reads signal quality (strength and error rate).

GSM_Error GSM_GetSIMIMSI ( GSM_StateMachine s,
char *  IMSI 
)

Gets SIM IMSI from phone.

gboolean GSM_IsPhoneFeatureAvailable ( GSM_PhoneModel model,
GSM_Feature  feature 
)

Checks whether phone supports features.

Parameters
modelModel information (you can get it using GSM_GetModelInfo).
featureGSM_Feature to check for.
Returns
True if phone has defined this feature.

Variable Documentation

const GSM_CodeName GSM_Countries[]

List of country codes, terminated by empty name/code.

const GSM_CodeName GSM_Networks[]

List of network codes, terminated by empty name/code.