AP05/redis_sn/redis_sn_client.h

84 lines
2.6 KiB
C
Raw Normal View History

#ifndef REDIS_SN_CLIENT_H
#define REDIS_SN_CLIENT_H
#include <stddef.h>
// Redis SN客户端配置
#define REDIS_HOST "180.163.74.83" // Redis服务器地址
#define REDIS_PORT 6379 // Redis端口
#define REDIS_PASSWORD "Zzh08165511" // Redis密码
#define SN_POOL_KEY "Zzh08165511" // SN池键名
#define MAX_SN_LENGTH 64 // 最大SN长度
#define REDIS_CONNECTION_TIMEOUT 5 // 连接超时时间(秒)
/**
* Redis SN客户端
* @return 0-1
*/
int init_redis_sn_client();
/**
* Redis SN池中获取一个唯一的设备SN
* @param sn_buffer SN的缓冲区
* @param buffer_size
* @return 0-1
*/
int get_device_sn_from_redis(char *sn_buffer, size_t buffer_size);
/**
* Redis SN池中获取设备SN和MAC地址
* @param sn_buffer SN的缓冲区
* @param sn_buffer_size SN缓冲区大小
* @param mac_buffer MAC地址的缓冲区
* @param mac_buffer_size MAC缓冲区大小
* @return 0-1
*/
int get_device_sn_and_mac_from_redis(char *sn_buffer, size_t sn_buffer_size, char *mac_buffer, size_t mac_buffer_size);
/**
* MAC地址
* @param raw_mac MAC地址90A9F73005FB
* @param formatted_mac MAC地址缓冲区90:A9:F7:30:05:FB
* @param buffer_size
* @return 0-1
*/
int format_mac_address(const char *raw_mac, char *formatted_mac, size_t buffer_size);
/**
* SN池中剩余的SN数量
* @return SN数量-1
*/
int check_sn_pool_count();
/**
* Redis中查找对应的SN和MAC地址
* @param batch_number D20250422006504
* @param sn_buffer SN的缓冲区
* @param sn_buffer_size SN缓冲区大小
* @param mac_buffer MAC地址的缓冲区
* @param mac_buffer_size MAC缓冲区大小
* @return 0-1
*/
int get_sn_mac_by_batch_number(const char *batch_number, char *sn_buffer, size_t sn_buffer_size, char *mac_buffer, size_t mac_buffer_size);
/**
* Redis连接
* @return 0-1
*/
int test_redis_connection();
/**
* Redis SN客户端资源
*/
void cleanup_redis_sn_client();
/**
* Redis
* @param batch
* @param mac MAC地址
* @param note NULL
* @return 0-1
*/
int send_audit_to_redis(const char *batch, const char *mac, const char *note);
#endif // REDIS_SN_CLIENT_H