alipay_common.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. /****************************************************************************
  2. * IoTPay modules 1.0 2017/10/19
  3. * This software is provided "AS IS," without a warranty of any kind. ALL
  4. * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING
  5. * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
  6. * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. ALIPAY, INC.
  7. * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE
  8. * AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
  9. * DERIVATIVES. IN NO EVENT WILL ALIPAY OR ITS LICENSORS BE LIABLE FOR ANY LOST
  10. * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,
  11. * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY
  12. * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE,
  13. * EVEN IF ALIPAY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  14. ****************************************************************************
  15. * You acknowledge that this software is not designed, licensed or intended
  16. * for use in the design, construction, operation or maintenance of any
  17. * nuclear facility.
  18. *****************************************************************************/
  19. #ifndef ALIPAY_COMMON_H
  20. #define ALIPAY_COMMON_H
  21. #include <string.h>
  22. #include <stdint.h>
  23. #define LIB_VERSION "V18.03.14"
  24. typedef enum {
  25. RV_OK = 0,
  26. RV_WRITE_ERROR,
  27. RV_READ_ERROR,
  28. RV_DEL_ERROR,
  29. RV_NOT_FOUND,
  30. RV_IO_ERROR,
  31. RV_NOT_INITIALISED,
  32. RV_NETWORK_ERROR,
  33. RV_ECC_GENERATE_ERROR,
  34. RV_ECC_SHARE_ERROR,
  35. RV_BUF_TOO_SHORT,
  36. RV_ENCRYPTION_ERRO,
  37. RV_DECRYPTION_ERRO,
  38. RV_WRONG_TIMESTAMP,
  39. RV_WRONG_PARAM,
  40. RV_PRODECT_MODEL_ERROR,
  41. RV_BINDING_REPEAT,
  42. RV_SEMAPHORE_CREATE_ERROR,
  43. RV_DATA_WAITING_TIMEOUT,
  44. RV_BINDING_DATA_FORMAT_ERROR,
  45. RV_UNKNOWN
  46. } retval_t;
  47. typedef enum {
  48. STATUS_BINDING_FAIL = 0x0,
  49. STATUS_UNBINDED,
  50. STATUS_START_BINDING, //准备环境,进度0
  51. STATUS_GETTING_PROFILE, //进度10%,进度>0时说明BLE连接已经OK,可以关闭绑定码,显示进度
  52. STATUS_SAVING_DATA, //进度30%
  53. STATUS_SAVING_DATA_OK, //进度70%
  54. STATUS_FINISH_BINDING, //进度90%
  55. STATUS_FINISH_BINDING_OK,
  56. STATUS_BINDING_OK = 0xA5,
  57. STATUS_UNKNOWN = 0xFF
  58. } binding_status_e;
  59. typedef struct {
  60. unsigned int magic;
  61. unsigned int verify;
  62. unsigned short type;
  63. unsigned short len;
  64. } paylib_sto_t;
  65. #if !defined(__cplusplus)
  66. #ifndef bool
  67. typedef unsigned char bool;
  68. #endif
  69. #ifndef false
  70. #define false ((bool)0)
  71. #define true ((bool)1)
  72. #endif
  73. #endif
  74. #ifdef __cplusplus
  75. #define EXTERNC extern "C"
  76. #else
  77. #define EXTERNC
  78. #endif
  79. #ifndef __DEBUG
  80. #define STATIC static
  81. #else
  82. #define STATIC
  83. #endif
  84. extern void alipay_send_ble_data_proc(void);
  85. typedef void (*alipay_gattc_write_cb_t)(const unsigned char *data, unsigned short len);
  86. extern alipay_gattc_write_cb_t g_alipay_write_cb;
  87. #endif /* common_h */