driver.h
上传用户:mei_mei897
上传日期:2007-01-05
资源大小:82k
文件大小:4k
源码类别:

手机短信编程

开发平台:

Unix_Linux

  1. /* -------------------------------------------------------------------- */
  2. /* SMS Client, send messages to mobile phones and pagers */
  3. /* */
  4. /* driver.h */
  5. /* */
  6. /*  Copyright (C) 1997,1998 Angelo Masci */
  7. /* */
  8. /*  This library is free software; you can redistribute it and/or */
  9. /*  modify it under the terms of the GNU Library General Public */
  10. /*  License as published by the Free Software Foundation; either */
  11. /*  version 2 of the License, or (at your option) any later version. */
  12. /* */
  13. /*  This library is distributed in the hope that it will be useful, */
  14. /*  but WITHOUT ANY WARRANTY; without even the implied warranty of */
  15. /*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU */
  16. /*  Library General Public License for more details. */
  17. /* */
  18. /*  You should have received a copy of the GNU Library General Public */
  19. /*  License along with this library; if not, write to the Free */
  20. /*  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
  21. /* */
  22. /*  You can contact the author at this e-mail address: */
  23. /* */
  24. /*  angelo@styx.demon.co.uk */
  25. /* */
  26. /* -------------------------------------------------------------------- */
  27. /* $Id: driver.h,v 5.1 1998/02/01 07:10:39 root Exp $
  28.    -------------------------------------------------------------------- */
  29. #include "sms_list.h"
  30. #include "sms_resource.h"
  31. /* -------------------------------------------------------------------- */
  32. typedef struct device_entry_struct DEVICE_ENTRY;
  33. typedef struct driver_default_env_struct DRIVER_DEFAULT_ENV;
  34. /* -------------------------------------------------------------------- */
  35. struct driver_default_env_struct {
  36. char  *comms_params,
  37. *flow_control,
  38. *centre_number;
  39. int fd;
  40. int connection_status;
  41. DEVICE_ENTRY *device;
  42. long baud, 
  43. deliver_timeout,
  44. timeout,
  45. write_timeout,
  46. num_sent,
  47. max_deliver;
  48. };
  49. /* -------------------------------------------------------------------- */
  50. struct device_entry_struct {
  51. char *name;
  52. RESOURCE *resource_list;
  53. DRIVER_DEFAULT_ENV *env;
  54. void (* init)(char *service, DEVICE_ENTRY *device);
  55. SMS_list *(* main)(SMS_list *list, char *message, DRIVER_DEFAULT_ENV *env);
  56. int (* validate_id)(char *id);
  57. int (* dial)(DRIVER_DEFAULT_ENV *env);
  58. void (* hangup)(DRIVER_DEFAULT_ENV *env);
  59. int (* disconnect)(void);
  60. int (* deliver)(SMS_list *node, char *message, DRIVER_DEFAULT_ENV *env);
  61. int (* sendmessage)(char *msisdn, char *message);
  62. int (* login)(void);
  63. };
  64. /* -------------------------------------------------------------------- */
  65. extern DEVICE_ENTRY tap_device;
  66. extern DEVICE_ENTRY vodafone_device;
  67. extern DEVICE_ENTRY orange_device;
  68. extern DEVICE_ENTRY pageone_device;
  69. extern DEVICE_ENTRY vodacom_device;
  70. extern DEVICE_ENTRY mtn_device;
  71. extern DEVICE_ENTRY one2one_device;
  72. extern DEVICE_ENTRY libertel_device;
  73. extern DEVICE_ENTRY tim_device;
  74. extern DEVICE_ENTRY snpp_device;
  75. extern DEVICE_ENTRY cimd_device;
  76. extern DEVICE_ENTRY proximus_device;
  77. extern DEVICE_ENTRY vodapage_block_device;
  78. extern DEVICE_ENTRY kpn_device;
  79. extern DEVICE_ENTRY answer_device;
  80. extern DEVICE_ENTRY generic_device;
  81. /* -------------------------------------------------------------------- */
  82. extern DEVICE_ENTRY *device_list[];
  83. /* -------------------------------------------------------------------- */
  84. #define SERVICE_NOT_CONNECTED  0
  85. #define SERVICE_CONNECTED  1
  86. /* -------------------------------------------------------------------- */
  87. /* -------------------------------------------------------------------- */
  88. #define MAX_RESPONSE_BUFSIZE 8096
  89. /* -------------------------------------------------------------------- */
  90. /* -------------------------------------------------------------------- */
  91. DEVICE_ENTRY *get_device(char *name);
  92. void display_drivers(void);
  93. int default_dial(DRIVER_DEFAULT_ENV *env);
  94. void default_hangup(DRIVER_DEFAULT_ENV *env);
  95. SMS_list *default_main(SMS_list *list, char *message, DRIVER_DEFAULT_ENV *env);
  96. int default_multiple_deliver(SMS_list *node, char *message, DRIVER_DEFAULT_ENV *env);
  97. int default_single_deliver(SMS_list *node, char *message, DRIVER_DEFAULT_ENV *env);
  98. int default_multiple_counted_deliver(SMS_list *node, char *message, DRIVER_DEFAULT_ENV *env);
  99. int default_send_disconnect(void);
  100. int default_validate_numeric_id(char *id);
  101. int default_validate_always_true(char *id);
  102. void default_init(char *mservice, DEVICE_ENTRY *device);
  103. int default_login(void);
  104. int default_sendmessage(char *msisdn, char *message);
  105. /* -------------------------------------------------------------------- */