Commit Graph

147 Commits

Author SHA1 Message Date
Aki Niemi 4f14a6c179 gisi: Make subblock iterator use new message API 2010-12-22 17:13:46 +02:00
Aki Niemi 785771f0be gisi: Add separate file for common constants 2010-12-22 17:13:46 +02:00
Aki Niemi 1e8312da2b gisi: Add new API for ISI message handling 2010-12-22 17:13:46 +02:00
Lucas De Marchi 86aae128d3 gisi: explicitly compare pointers to NULL
This patch was generated by the following semantic patch
(http://coccinelle.lip6.fr/)

// <smpl>
@fix disable is_null,isnt_null1@
expression *E;
@@

- !E
+ E == NULL
// </smpl>
2010-11-29 11:53:14 -06:00
Mika Liljeberg 6fa4ee0237 gisi: return NULL instead of asserting 2010-11-11 09:23:33 +02:00
Mika Liljeberg 39823fee14 gisi: fix crash bug in g_isi_remove_subscription 2010-11-11 09:20:39 +02:00
Marcel Holtmann 27311fc4a8 gisi: Use of DBG macro is not allowed 2010-10-22 00:37:57 +02:00
Mika Liljeberg 8ebe96d996 gisi: Add method for verifying any resource
Add g_isi_verify_resource() function to GIsiClient for verifying
the reachability of an arbitrary resource.
2010-10-21 21:39:41 +03:00
Mika Liljeberg a4117e5411 gisi: store object handle for associated server 2010-10-21 21:39:41 +03:00
Mika Liljeberg 0e95bfd856 gisi: Allow subscribes towards any resources
Add methods to subscribe indications from an arbitrary resource.
Configured resource id is treated as the default. Also added separate
commit function for resource subscriptions in order to reduce the
number of subscription messages sent to the modem.
2010-10-21 21:39:41 +03:00
Mika Liljeberg 69fbe74276 gisi: make timeout optional 2010-10-21 21:39:41 +03:00
Mika Liljeberg 6462450059 gisi: Add sendto methods to GIsiClient
Add g_isi_vsendto() and g_isi_sendto() methods for sending messages to
an arbitrary Phonet address.
2010-10-21 21:39:41 +03:00
Aki Niemi 8698a0d4f2 gisi: Fix copyright and license boilerplate 2010-10-14 15:29:58 +03:00
Pekka Pessi 84888e9fa7 gisi/verify: check g_try_new0 return value 2010-10-06 17:26:26 +02:00
Aki Niemi a7879d4e0c gisi: Remove route adding API 2010-09-30 11:25:48 +03:00
Lucas De Marchi 9849f010ab Fix common misspelling in gisi
Fix common misspellings by using the list available at
http://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines

From the list cited above, the substitution script found the following
misspelling:

fomr->from
2010-09-14 16:01:00 +09:00
Pekka Pessi 9385ba83ba gisi: added g_isi_send() and g_isi_vsend()
Include a finalize function in GIsiRequest
2010-09-02 07:50:58 +03:00
Pekka Pessi 3b95fe1d10 gisi: Retry version query in g_isi_verify()
For some mysterious reason, not all COMMON_MESSAGEs get sent to
modem. This patch adds a retry counter that tries to make sure an
answer is always received.
2010-08-30 17:55:15 +03:00
Aki Niemi d21c660ae2 gisi: Fix counter for indication subscriptions 2010-08-30 17:54:40 +03:00
Pekka Pessi a97a97147d Eliminated bool, true and false from gisi 2010-05-27 13:07:15 -05:00
Aki Niemi 1d7fe6aa5a gisi: Fix style issues 2010-05-17 14:28:39 +03:00
Aki Niemi 43aaf7c291 gisi: Fix netlink style issues 2010-05-17 13:50:50 +03:00
Pekka Pessi cb6c7972c0 gisi: Add phonet netlink functions
Adding g_pn_netlink_set_address() and g_pn_netlink_add_route().
Automatically configure phonet links without external software.
2010-05-17 13:50:27 +03:00
Pekka Pessi 5b288c17b9 gisi: Remove g_pn_netlink_by_name() 2010-05-17 13:43:34 +03:00
Aki Niemi 9ac5c596ed gisi: Add support for NTF requests
Notify requests are requests sent by ISA servers towards clients. They
are identical to indications in that no response is necessary, but
different in that subscription is done not using the mechanism used
for indications, but out-of-band. Typically routing for notify
requests is enabled using a request-response pair.
2010-05-14 16:51:30 +03:00
Aki Niemi 36bd998597 gisi: Return negative errnos 2010-05-14 16:51:25 +03:00
Aki Niemi 2d8762932a gisi: Fix typo in documentation 2010-05-14 16:51:21 +03:00
Aki Niemi 26fda05821 gisi: Add debugging support for requests 2010-05-14 16:50:00 +03:00
Aki Niemi 8aa82f0a4f gisi: remove misplaced define 2010-04-27 23:21:48 +03:00
Aki Niemi f89f11d2a2 gisi: refactor client implementation 2010-04-27 23:21:48 +03:00
Pekka Pessi 7bf2dc9707 Fix: transaction id usage in gisi/server.c 2010-04-24 14:09:58 -05:00
Aki Niemi 22103491a4 gisi: move g_isi_modem_by_name to separate file
This fixes build warnings that resulted from conflicts between
linux/if.h and net/if.h.
2010-04-21 10:48:29 +03:00
Aki Niemi 1a52b68573 Fix build warning on 64bit system 2010-04-20 17:47:17 +03:00
Pekka Pessi fa3501b8d2 Refactor isimodem and gisi/netlink
Now usbpnmodem plugin is used to register ISI modems.
2010-04-20 17:47:17 +03:00
Pekka Pessi 3ddc7ab7c3 gisi: add gisi server API 2010-04-20 17:47:16 +03:00
Pekka Pessi 66e87b42b3 gisi: fix cast-align warnings 2010-04-20 17:47:16 +03:00
Pekka Pessi 7c8fd12d9a gisi: check for NULL client and remove warnings 2010-04-20 17:47:16 +03:00
Pekka Pessi 12acb80e98 gisi: move GIsiDebugFunc into modem.h 2010-04-20 17:47:16 +03:00
Aki Niemi 19d9b37c58 gisi: fix pointer checking 2010-04-20 14:10:38 +03:00
Aki Niemi 5d7bf546ef gisi/pep: check for NULL callback 2010-04-20 14:10:33 +03:00
Denis Kenzior 8987fb696c Fix: Use g_try_malloc in gisi/pipe.c 2010-03-16 17:37:44 -05:00
Denis Kenzior 9b8d8218a5 Fix: Use g_try_malloc not g_malloc in isi/pep.c 2010-03-16 17:34:49 -05:00
Denis Kenzior d081e3910a Style: Use newlines to make the code more readable 2010-03-16 17:34:18 -05:00
Denis Kenzior db7e48d046 Style: Always use tab for indentation 2010-03-16 17:33:50 -05:00
Denis Kenzior 9b803223c6 Style: Various issues 2010-01-12 17:54:37 -06:00
Rémi Denis-Courmont 2b2a410deb gisi: support sending ISI request as a scatter-gather array 2009-12-18 15:59:17 +02:00
Rémi Denis-Courmont bc6c4adcac gisi: pass object handle to g_isi_verify() callback
This will be needed for GPDS.
2009-12-18 15:59:17 +02:00
Rémi Denis-Courmont 0081548fcf gisi: Fix g_isi_verify() type safety 2009-12-18 15:59:17 +02:00
Pekka Pessi 86b6cd91c9 isimodem/voicecall.c: initial version
Implementing all the voicecall methods. Tested with Nokia 2008 modems.

 - problems in call creation are probably not reported properly
 - deflect not implemented in modem, not properly tested

TODO: Clean up style issues and align with other drivers.
2009-10-16 11:18:52 +03:00
Aki Niemi 876943e2b4 gisi: Add getter for sub-block data
Also fix indentation and change int->unsigned in the API.
2009-10-14 22:46:26 +03:00
Pekka Pessi d1d870ba7a Refactor subblock iterators.
Always initialize iterators.

Try to avoid pointer arithmetics on NULL; in other words, move all pointer
arithmetics inside g_isi_sb_iter_init().

There are 4 different ways for representing sub blocks in ISI message:
- 8-bit sub_blocks count, 8-bit sub_block_id/sub_block_len
- 16-bit sub_blocks count, 8-bit sub_block_id/sub_block_len
- 8-bit sub_blocks count, 16-bit sub_block_id/sub_block_len
- 16-bit sub_blocks count, 16-bit sub_block_id/sub_block_len

The compact form g_isi_sb_iter_init() supports 8-bit sub_block count before
start of the sub blocks themselves and 8-bit sub_block_id and sub_block_len.
The full form g_isi_sb_iter_init_full() with explicit longhdr and sub_block
count supports all other cases.
2009-10-09 12:54:04 +03:00
Pekka Pessi bc8031e2d7 gisi: use const and restrict in iter 2009-10-07 23:21:15 +03:00
Aki Niemi 0b28b05678 gisi: Make reachability detection more robust 2009-09-16 23:37:23 +03:00
Aki Niemi a34849599b Fix restrict keyword usage 2009-09-16 09:05:53 +03:00
Aki Niemi 8bbd9a8560 gisi: Add ISI version and reachability check API
This patch adds an API for querying the ISI version of the resource
with which the client is associated. This information is only
available after g_isi_verify() has been called on the client. This is
because we use the version query message as a vehicle for reachability
checking.
2009-09-15 15:35:47 +03:00
Aki Niemi 3cec9ac67b Add support for long sub-block header 2009-09-14 23:43:17 +03:00
Aki Niemi a1ca8a9afa Add and modify string getters
Add a getter for latin ASCII only tags, and change the alpha tag
getter. Turns out not all alpha tags in ISI are of the length-value
variety.
2009-09-14 16:21:06 +03:00
Aki Niemi dec66954b6 gisi: Add ISI sub-block iterator 2009-09-14 14:34:00 +03:00
Rémi Denis-Courmont 94a0c4e708 gisi: cannot do ioctl() with Netlink sockets, use local instead 2009-09-10 17:44:01 +03:00
Rémi Denis-Courmont 418dba1ec3 gisi: Fix embarrassing typo 2009-09-10 17:43:30 +03:00
Rémi Denis-Courmont 54f61961b5 gisi: bring Phonet interface up before telling upper layers about it
This should get kernel-assisted Phonet autoconfiguration to work (and it
shouldn't hurt in other cases). Otherwise, the upper layers will try to
send packets, which will fail. Then they will probably just time out.
2009-09-10 15:31:21 +03:00
Rémi Denis-Courmont 3feaacb6ce gisi: disable logging by default
The debug_func was not initialized.
2009-09-09 22:26:44 +02:00
Ismo Puustinen 3f5851f4e9 gisi: Getter function for pipe handle 2009-09-01 13:42:15 +03:00
Rémi Denis-Courmont aef72327c2 gisi: return GPRS interface index/name 2009-08-28 15:20:27 +03:00
Aki Niemi 373665cdd0 gisi: Fix indication debugging 2009-08-25 18:26:24 +03:00
Marcel Holtmann 70aab2a826 Convert to fully non-recursive build system 2009-08-24 23:49:40 -07:00
Aki Niemi 5086088458 gisi: Fix warning in g_isi_subscribe()
Save the GIsiModem instance in GIsiClient, so that calling
g_isi_subscribe() doesn't throw a warning.
2009-08-23 23:19:03 +03:00
Aki Niemi 197cefbba5 gisi: Add debugging hooks 2009-08-22 18:01:24 +03:00
Denis Kenzior 779851acec Fix control reaches end of non-void function 2009-08-20 15:39:11 -05:00
Denis Kenzior 63f3bc455f Fix unused variable err warning 2009-08-20 15:39:11 -05:00
Denis Kenzior d465d4c4a5 Fix implicit declaration of close warning 2009-08-20 15:39:11 -05:00
Rémi Denis-Courmont 89843ba662 gisi: PEP: use more portable non-blocking and close-on-exec 2009-08-20 11:08:25 +03:00
Denis Kenzior 1f45e1ed37 Fix make distcheck - gisi/modem.h
gisi/modem.h was not included in Makefile.am
2009-08-19 20:32:49 -05:00
Denis Kenzior b0009732dd Fix make distcheck
isicommon.h is no longer in the repository
2009-08-19 20:29:56 -05:00
Rémi Denis-Courmont a0973098a4 gisi: fix pipe create request endianess problems 2009-08-19 18:16:07 +03:00
Rémi Denis-Courmont 75f8148ab5 gisi: bind pipe end point *before* getting its handle 2009-08-19 18:16:06 +03:00
Rémi Denis-Courmont 5b0fffe66a Phonet: GPRS pipe end point low-level support 2009-08-19 17:07:16 +03:00
Rémi Denis-Courmont cf88062682 Phonet: missing SOL_PNPIPE definition 2009-08-19 17:07:16 +03:00
Rémi Denis-Courmont f32be53cd0 Phonet: add error handling for pipes 2009-08-19 17:07:15 +03:00
Rémi Denis-Courmont fa3c5f5ee1 Phonet: add modem parameter to ISI pipe API 2009-08-19 17:07:15 +03:00
Rémi Denis-Courmont 5e2a1745fb Phonet: add modem parameter to ISI client API 2009-08-19 17:07:15 +03:00
Rémi Denis-Courmont 20f73898ec gisi: provide modem identifier through Netlink API 2009-08-19 17:07:15 +03:00
Rémi Denis-Courmont ffcbb25105 gisi: warn if GIsiModem is missing rather than fail 2009-08-19 17:07:15 +03:00
Rémi Denis-Courmont b2ee53a99f gisi: low-level modem scoping for sockets 2009-08-19 17:07:15 +03:00
Rémi Denis-Courmont 2bfe1a24b9 Phonet: basic pipe owner support
This will be needed for GPRS support.
2009-08-14 16:56:52 +03:00
Rémi Denis-Courmont 360fd4b43b gisi: malloc -> free 2009-07-07 13:25:15 +03:00
Rémi Denis-Courmont a8138acce5 gisi: call to non existent function 2009-07-06 10:44:40 +03:00
Rémi Denis-Courmont 073261e507 Use phonet.h 2009-07-03 08:47:26 -07:00
Rémi Denis-Courmont e34e16b341 Replacement header for Phonet definitions 2009-07-03 08:32:14 -07:00
Rémi Denis-Courmont 6a2dd31a89 gisi: fix extracting Phonet address from Netlink 2009-06-29 21:03:09 +03:00
Aki Niemi 490840e011 gisi: Fix documentation and add API for resource ID 2009-06-25 09:42:06 +03:00
Aki Niemi 127b56bacc gisi: fix g_pn_netlink_start() return value 2009-06-24 13:21:32 +03:00
Aki Niemi 94f1fce8ee Add GISI_* build variables; remove unnecessary curly brackets 2009-06-22 21:43:56 +03:00
Aki Niemi f2f0fd0501 gisi: fixes to request/response handling and timeout registration 2009-06-22 21:17:14 +03:00
Rémi Denis-Courmont 841060da24 gisi: specify destination socket address
Kernel wants it, and returns an error on send otherwise.
2009-06-22 17:39:35 +03:00
Aki Niemi ede04ed8ca Fix to use negative error return in gisi/client.c 2009-06-15 11:33:34 +03:00
Aki Niemi e5f0290ddb Rename ISI client and PhoNet netlink APIs
- Add g_ prefix to functions
- Add G-prefix and use CamelCasing in types
2009-06-15 11:27:16 +03:00