FuJuntang
2022-07-06 e5cff5a3ef373a5090f45cd1dfb0b85d9c851d5d
comm/proto_comm.h
@@ -8,6 +8,9 @@
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <time.h>
#include <signal.h>
#include "soapH.h"
#include "soapStub.h"
#include "wsaapi.h"
@@ -24,6 +27,10 @@
#define min(a,b)    (((a) < (b)) ? (a) : (b))
#endif
#define WT_TIME         5
#define STOP_WT_TIME    3
#define WT_MAX_TIME     (60 * 20)
#define SOAP_ASSERT     assert
#define SOAP_DBGERR     printf
@@ -33,27 +40,46 @@
#define SOAP_DBGLOG
#endif 
#define USERNAME        "On_admin"
#define PASSWORD        "a12345678"
#define SOAP_TO         "urn:schemas-xmlsoap-org:ws:2005:04:discovery"
#define SOAP_ACTION     "http://schemas.xmlsoap.org/ws/2005/04/discovery/Probe"
#define SOAP_MCAST_ADDR "soap.udp://239.255.255.250:3702"                      
#define SOAP_ITEM       ""                                                      // 寻找的设备范围
#define SOAP_TYPES      "dn:NetworkVideoTransmitter"                            // 寻找的设备类型
#define SOAP_ITEM       ""
#define SOAP_TYPES      "dn:NetworkVideoTransmitter"                            //device type
#define ADDR_PREFIX     "http://"
#define ADDR_LAST       "/"
#define NAME_BRIDGE     "_"
#define NAME_DOT        "."
#define NAME_MID        "-"
#define SOAP_SOCK_TIMEOUT    (10)                                               //sec
#define TRUE                  1
#define FALSE                 0
#define ENABLE          0
#define DISABLE         1
#define PARA_MIN              (-1)
#define PARA_MAX              (1)
#define PROTO_ADDRESS_SIZE   (128)                                              // URI地址长度
#define PROTO_TOKEN_SIZE     (65)                                               // token长度
#define PROTO_ADDRESS_SIZE   (128)
#define PROTO_TOKEN_SIZE     (65)                                               //token size
#define PTOTO_ADDRESS_ADD    (65)
/* 视频编码器配置信息 */
#define MAX_BUF_SIZE    600
/*video encoder configurations */
struct tagVideoEncoderConfiguration
{
  char token[PROTO_TOKEN_SIZE];                                               // 唯一标识该视频编码器的令牌字符串
  int Width;                                                                  // 分辨率
  char token[PROTO_TOKEN_SIZE];                                               //video token
  int Width;                                                                  //resolution
  int Height;
};
@@ -78,6 +104,10 @@
        } \
    } while (0)
int timer_init(timer_t *timer_index, void (*timer_handler)(union sigval para));
int timer_start(timer_t timer_index, int sec);
int timer_stop(timer_t timer_index);
int timer_destroy(timer_t timer_index);
void            soap_perror(struct soap *soap, const char *str);
void *          proto_soap_malloc(struct soap *soap, unsigned int n);
@@ -89,7 +119,7 @@
void            proto_init_ProbeType(struct soap *soap, struct wsdd__ProbeType *probe);
float           para_check(float data);
int             make_uri_withauth(char *src_uri, char *username, char *password, char *dest_uri, unsigned int size_dest_uri);
int             bridge_uri(char *src_uri, const char *username, const char *password, char *dest_uri, unsigned int size_dest_uri);
int             soap_wsse_add_UsernameTokenDigest(struct soap *soap, const char *id, const char *username, const char *password);
int proto_GetDeviceInformation(const char *DeviceXAddr, const char *username, const char *passwd);