wtp_pack.h
上传用户:gzpyjq
上传日期:2013-01-31
资源大小:1852k
文件大小:2k
源码类别:

手机WAP编程

开发平台:

WINDOWS

  1. /*
  2.  * wtp_pack.h - WTP implementation, message module header
  3.  *
  4.  * By Aarno Syv鋘en for WapIT Ltd.
  5.  */
  6. #ifndef WTP_SEND_H
  7. #define WTP_SEND_H
  8. #include "gwlib/gwlib.h"
  9. #include "wap_events.h"
  10. #include "wtp_init.h"
  11. #include "wtp_resp.h"
  12. #include "wtp.h"
  13. #include "wap.h"
  14. /*
  15.  * Create a datagram event, having invoke PDU as user data. Fetches address,
  16.  * tid and tid_new from the initiator state machine, other fields from event.
  17.  * Only for the wtp initiator.
  18.  *
  19.  * Return message to be sent.
  20.  */
  21. WAPEvent *wtp_pack_invoke(WTPInitMachine *init_machine, WAPEvent *event);
  22. /*
  23.  * Create a datagram event, having result PDU as user data. Fetches SDU
  24.  * from WTP event, address four-tuple and machine state information
  25.  * (are we resending the packet) from WTP machine. Handles all 
  26.  * errors by itself. Returns message, if OK, else NULL. Only for wtp 
  27.  * responder.
  28.  */
  29. WAPEvent *wtp_pack_result(WTPRespMachine *resp_machine, WAPEvent *event); 
  30. /*
  31.  * Create a datagram event, having abort PDU as user data. Fetches SDU
  32.  * from WTP event, address four-tuple from WTP machine. 
  33.  * Handles all errors by itself. Both for wtp initiator and responder.
  34.  */
  35. WAPEvent *wtp_pack_abort(long abort_type, long abort_reason, long tid, 
  36.                          WAPAddrTuple *address);
  37. /*
  38.  * Create a datagram event, having ack PDU as user data. Creates SDU by
  39.  * itself, fetches address four-tuple and machine state from WTP machine.
  40.  * Ack_type is a flag telling whether we are doing tid verification or not,
  41.  * rid_flag tells are we retransmitting. Handles all errors by itself.
  42.  * Both for wtp initiator and responder.
  43.  */
  44. WAPEvent *wtp_pack_ack(long ack_type, int rid_flag, long tid, 
  45.                        WAPAddrTuple *address);
  46. /*
  47.  * Set or unset the retransmission indicator on a PDU that has already
  48.  * been packed as a datagram.  dgram must be of type T_DUnitdata_Req.
  49.  */
  50. void wtp_pack_set_rid(WAPEvent *dgram, long rid);
  51. #endif