Gsmd/document

From Openmoko

Revision as of 06:10, 2 October 2007 by Tick (Talk | contribs)

Jump to: navigation, search

Contents

Overview

What is gsmd

Gsmd is a daemon that handles the communication between applications and GSM modem. Applications control gsmd through libgsmd. libgsmd communicates with gsmd through unix socket, and modem goes through Uart. The diagram is as following. http://lh6.google.com/ticktock35/RwDCAWdUPEI/AAAAAAAAAD4/wBrRLv-1oyE/s400/gsmd_overview.jpg

Gsmd

GSMD is a event driven daemon. Each event shall has a response. Every event will pass through the gsmd_select_main() in which finding and executing their correspond call back functions.

gsmd_select_main()

gsmd_select_main this is core of the call back function scheme. All devices, gsmd monitors, are put into a struct gsmd_fd, and gsmd_select_main will select it. Once an event comes out from one of the devices, gsmd_select_main will try to call it's call back function that devices registered.

call back functions

ml_parse

atcmd_fill

atcmd_submit

atcmd_select_cb

libgsmd

libgsmd-tool

To-do

Personal tools

Overview

What is gsmd

Gsmd is a daemon that handles the communication between applications and GSM modem. Applications control gsmd through libgsmd. libgsmd communicates with gsmd through unix socket, and modem goes through Uart. The diagram is as following. http://lh6.google.com/ticktock35/RwDCAWdUPEI/AAAAAAAAAD4/wBrRLv-1oyE/s400/gsmd_overview.jpg

Gsmd

GSMD is a event driven daemon. Each event shall has a response. Every event will pass through the gsmd_select_main() in which finding and executing their correspond call back functions.

gsmd_select_main()

gsmd_select_main this is core of the call back function scheme. All devices, gsmd monitors, are put into a struct gsmd_fd, and gsmd_select_main will select it. Once an event comes out from one of the devices, gsmd_select_main will try to call it's call back function that devices registered.

call back functions

ml_parse

atcmd_fill

atcmd_submit

atcmd_select_cb

libgsmd

libgsmd-tool

To-do