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

手机WAP编程

开发平台:

WINDOWS

  1. /*
  2.  * wtp_tid.h - tid verification implementation header
  3.  *
  4.  * By Aarno Syv鋘en for WapIT Ltd
  5.  */
  6. #ifndef WTP_TID_H
  7. #define WTP_TID_H
  8. typedef struct WTPCached_tid WTPCached_tid;
  9. #include <math.h>
  10. #include <stdlib.h>
  11. #include "gwlib/gwlib.h"
  12. #include "wap_events.h"
  13. #include "wtp_resp.h"
  14. #define WTP_TID_WINDOW_SIZE (1L << 14)
  15. /*
  16.  * Constants defining the result of tid validation
  17.  */
  18. enum {
  19.     no_cached_tid,
  20.     ok,
  21.     fail
  22. };
  23. /*
  24.  * Tid cache item consists of initiator identifier and cached tid.
  25.  */
  26. struct WTPCached_tid {
  27.     WAPAddrTuple *addr_tuple;
  28.     long tid;
  29. };
  30. /* 
  31.  * Initialize tid cache. MUST be called before calling other functions in this 
  32.  * module.
  33.  */
  34. void wtp_tid_cache_init(void);
  35. /*
  36.  * Shut down the tid cache. MUST be called after tid cache isn't used anymore.
  37.  */
  38. void wtp_tid_cache_shutdown(void);
  39. /*
  40.  * Does the tid validation test, by using a simple window mechanism
  41.  *
  42.  * Returns: no_cached_tid, if the peer has no cached last tid, or the result
  43.  * of the test (ok, fail);
  44.  */
  45. int wtp_tid_is_valid(WAPEvent *event, WTPRespMachine *machine);
  46. /*
  47.  * Changes the tid value belonging to an existing initiator
  48.  */
  49. void wtp_tid_set_by_machine(WTPRespMachine *machine, long tid);
  50. #endif