summaryrefslogtreecommitdiffstats
path: root/gatchat/gatserver.c
AgeCommit message (Collapse)AuthorFilesLines
2010-02-26Add write buffer queue for non-blocking writeZhenhua Zhang1-10/+95
The head of the queue is the data to be written, the tail is the free buffer to cache data into. If the tail of queue is full, allocate a new free buffer and append it at the tail.
2010-02-26Add define for read and write buffer sizeZhenhua Zhang1-1/+3
2010-02-26Do not trigger user disconnect at g_at_shutdownZhenhua Zhang1-14/+28
Similar to gatchat, introduce read_watcher_destroy_notify and do not trigger user disconnect at g_at_shutdown. Delay destroy of gatserver until read_watcher is destroyed.
2010-02-10Rename server_io to channelZhenhua Zhang1-6/+6
To make it consistent with GAtChat.
2010-02-10Replace sprintf with snprintfZhenhua Zhang1-2/+3
2010-02-10Rename buf to read_buf in GAtServerZhenhua Zhang1-27/+27
Because we may introduce write_buf for sever response buffer.
2010-02-02Fix change state immediately when meet the slashZhenhua Zhang1-15/+5
According to V.250 spec section 5.2.4 Repeating a command line, if the prefix "A/" or "a/" is received, we should execute the last command immediately. No need to meet \r.
2010-02-01Fix: Remove unused labelDenis Kenzior1-1/+0
2010-02-01Fix: Skip whitespace in AT command lineDenis Kenzior1-5/+33
2010-02-01Refactor: Use more flexible parser frameworkDenis Kenzior1-101/+165
2010-02-01Fix: Don't set variables to NULL/0Denis Kenzior1-7/+1
These were already set to 0 by g_try_new0
2010-02-01Refactor: Support max_read attempts like GAtChatDenis Kenzior1-6/+14
2010-02-01Fix: Use a function instead of a tableDenis Kenzior1-32/+30
2010-02-01Fix: Make compileDenis Kenzior1-7/+7
2010-02-01Add GAtServer basic parsing supportZhenhua Zhang1-0/+486
It's the basic skeleton of GAtServer, including new/shutdown, ref/ unref, received_data/parse_buffer and set_discuss/set_debug. GAtServer is to emulate the server side of AT conversation. It complies with V.250 and 27.007 spec to accept AT command like ATV1, ATE0 and extended command like AT+CLCC. Upper layer could create customize server to expose TTY, tcp or unix socket to client side application.