Update MediaClient

This commit is contained in:
2026-03-28 11:39:04 +11:00
parent 24dc6c7cd0
commit f3266566eb
1284 changed files with 462406 additions and 0 deletions

534
ONVIF/include/onvif/onvif.h Normal file
View File

@@ -0,0 +1,534 @@
/***************************************************************************************
*
* IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
*
* By downloading, copying, installing or using the software you agree to this license.
* If you do not agree to this license, do not download, install,
* copy or use the software.
*
* Copyright (C) 2014-2024, Happytimesoft Corporation, all rights reserved.
*
* Redistribution and use in binary forms, with or without modification, are permitted.
*
* Unless required by applicable law or agreed to in writing, software distributed
* under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
* language governing permissions and limitations under the License.
*
****************************************************************************************/
#ifndef __H_ONVIF_H__
#define __H_ONVIF_H__
#include "sys_inc.h"
#include "http.h"
#include "onvif_cm.h"
#include "onvif_act.h"
/***************************************************************************************/
// device type
#define ODT_UNKNOWN 0 // Unknow device type
#define ODT_NVT 1 // ONVIF Network Video Transmitter
#define ODT_NVD 2 // ONVIF Network Video Display
#define ODT_NVS 3 // ONVIF Network video Storage
#define ODT_NVA 4 // ONVIF Network video Analytics
// device flag
#define FLAG_MANUAL (1 << 0) // manual added device, other auto discovery devices
/***************************************************************************************/
typedef struct
{
int type; // device type
char EndpointReference[100]; // endpoint reference
int MetadataVersion; // metadata version
uint32 sizeScopes; // sopes numbers
onvif_Scope scopes[MAX_SCOPE_NUMS]; // scopes
onvif_XAddr XAddr; // xaddr, include port host, url
} DEVICE_BINFO;
/***************************************************************************************/
// video source list
typedef struct _VideoSourceList
{
struct _VideoSourceList * next;
onvif_VideoSource VideoSource;
} VideoSourceList;
// video source mode list
typedef struct _VideoSourceModeList
{
struct _VideoSourceModeList * next;
onvif_VideoSourceMode VideoSourceMode;
} VideoSourceModeList;
// video source configuration list
typedef struct _VideoSourceConfigurationList
{
struct _VideoSourceConfigurationList * next;
onvif_VideoSourceConfiguration Configuration;
} VideoSourceConfigurationList;
// video encoder configuration list
typedef struct _VideoEncoderConfigurationList
{
struct _VideoEncoderConfigurationList * next;
onvif_VideoEncoderConfiguration Configuration;
} VideoEncoderConfigurationList;
// audio source list
typedef struct _AudioSourceList
{
struct _AudioSourceList * next;
onvif_AudioSource AudioSource;
} AudioSourceList;
// audio source configuration list
typedef struct _AudioSourceConfigurationList
{
struct _AudioSourceConfigurationList * next;
onvif_AudioSourceConfiguration Configuration;
} AudioSourceConfigurationList;
// audio encoder configuration list
typedef struct _AudioEncoderConfigurationList
{
struct _AudioEncoderConfigurationList * next;
onvif_AudioEncoderConfiguration Configuration;
} AudioEncoderConfigurationList;
typedef struct _MetadataConfigurationList
{
struct _MetadataConfigurationList * next;
onvif_MetadataConfiguration Configuration;
} MetadataConfigurationList;
// ptz preset list
typedef struct _PTZPresetList
{
struct _PTZPresetList * next;
onvif_PTZPreset PTZPreset;
} PTZPresetList;
// ptz configuration list
typedef struct _PTZConfigurationList
{
struct _PTZConfigurationList * next;
onvif_PTZConfiguration Configuration;
} PTZConfigurationList;
// ptz node list
typedef struct _PTZNodeList
{
struct _PTZNodeList * next;
onvif_PTZNode PTZNode;
} PTZNodeList;
// preset tour list
typedef struct _PresetTourList
{
struct _PresetTourList * next;
onvif_PresetTour PresetTour;
} PresetTourList;
// video analytics configuration list
typedef struct _VideoAnalyticsConfigurationList
{
struct _VideoAnalyticsConfigurationList * next;
ConfigList * rules; // video analytics rule configuration
ConfigList * modules; // video analytics module configuration
onvif_SupportedRules SupportedRules; // supported rules
onvif_VideoAnalyticsConfiguration Configuration;
} VideoAnalyticsConfigurationList;
// network interface list
typedef struct _NetworkInterfaceList
{
struct _NetworkInterfaceList * next;
onvif_NetworkInterface NetworkInterface;
} NetworkInterfaceList;
typedef struct
{
onvif_NetworkProtocol NetworkProtocol;
onvif_DNSInformation DNSInformation;
onvif_NTPInformation NTPInformation;
onvif_HostnameInformation HostnameInformation;
onvif_NetworkGateway NetworkGateway;
onvif_DiscoveryMode DiscoveryMode;
onvif_NetworkZeroConfiguration ZeroConfiguration;
NetworkInterfaceList * interfaces;
} ONVIF_NET;
// user list
typedef struct _UserList
{
struct _UserList * next;
onvif_User User;
} UserList;
// osd configuration list
typedef struct _OSDConfigurationList
{
struct _OSDConfigurationList * next;
onvif_OSDConfiguration OSD;
} OSDConfigurationList;
typedef struct _RecordingList
{
struct _RecordingList * next;
onvif_Recording Recording;
} RecordingList;
typedef struct _RecordingJobList
{
struct _RecordingJobList * next;
onvif_RecordingJob RecordingJob;
} RecordingJobList;
typedef struct _NotificationMessageList
{
struct _NotificationMessageList * next;
onvif_NotificationMessage NotificationMessage;
} NotificationMessageList;
typedef struct
{
BOOL subscribe; // event subscribed flag
BOOL pullpoint; // create pull point flag
char reference_addr[256]; // event comsumer address
char producter_addr[256]; // event producter address
char producter_parameters[512]; // event producter reference parameters
int init_term_time; // termination time, unit is second
time_t renew_time; // the previous renew timestamp
uint32 notify_nums; // event notify numbers
NotificationMessageList * notify; // event notify messages
} ONVIF_EVENT;
typedef struct _ONVIF_PROFILE
{
struct _ONVIF_PROFILE * next;
VideoSourceConfigurationList * v_src_cfg; // video source configuration
VideoEncoderConfigurationList * v_enc_cfg; // video encoder configuration
AudioSourceConfigurationList * a_src_cfg; // audio source configuration
AudioEncoderConfigurationList * a_enc_cfg; // audio encoder configuration
PTZConfigurationList * ptz_cfg; // ptz configuration
VideoAnalyticsConfigurationList * va_cfg; // video analytics configuration
MetadataConfigurationList * metadata_cfg; // metadata configuration
char name[ONVIF_NAME_LEN]; // profile name
char token[ONVIF_TOKEN_LEN]; // profile token
char stream_uri[ONVIF_URI_LEN]; // rtsp stream address
BOOL fixed; // fixed profile flag
} ONVIF_PROFILE;
typedef struct
{
uint32 local_ip; // local ip address to connect to server, network byte order
DEVICE_BINFO binfo; // device basic information
int timeType; // the device datatime type, 0-invalid time, 1-local time, 2-utc time
onvif_DateTime devTime; // the device datatime
time_t fetchTime; // fetch time
// request
char username[32]; // login user name, set by user
char password[32]; // login password, set by user
int timeout; // request timeout, uinit is millisecond
BOOL needAuth; // whether need auth, If TRUE, it indicates that the ws-username-token authentication method is used for authentication
BOOL authFailed; // when login auth failed, set by onvif stack
ONVIF_RET errCode; // error code, set by onvif stack
onvif_Fault fault; // the onvif fault, set by onvif stack, valid when errCode is ONVIF_ERR_HttpResponseError, or please skip it
int retry_cnt;
ONVIF_PROFILE * curProfile; // current profile pointer, the default pointer the first profile, user can set it (for media service)
/********************************************************/
VideoSourceList * v_src; // the list of video source
AudioSourceList * a_src; // the list of audio source
ONVIF_PROFILE * profiles; // the list of profile (for media service)
MediaProfileList * media_profiles; // the list of media profile (for media service 2)
VideoSourceConfigurationList * v_src_cfg; // the list of video source configuration
AudioSourceConfigurationList * a_src_cfg; // the list of audio source configuration
VideoEncoderConfigurationList * v_enc_cfg; // the list of video encoder configuration
AudioEncoderConfigurationList * a_enc_cfg; // the list of audio encoder configuration
PTZNodeList * ptz_node; // the list of ptz node
PTZConfigurationList * ptz_cfg; // the list of ptz configuration
/********************************************************/
ONVIF_EVENT events; // event information
onvif_DeviceInformation DeviceInformation;// device information
onvif_Capabilities Capabilities; // device capabilities
} ONVIF_DEVICE;
#ifdef __cplusplus
extern "C" {
#endif
HT_API void onvif_free_device(ONVIF_DEVICE * p_dev);
HT_API UserList * onvif_add_User(UserList ** p_head);
HT_API void onvif_free_Users(UserList ** p_head);
HT_API LocationEntityList * onvif_add_LocationEntity(LocationEntityList ** p_head);
HT_API void onvif_free_LocationEntitis(LocationEntityList ** p_head);
HT_API StorageConfigurationList * onvif_add_StorageConfiguration(StorageConfigurationList ** p_head);
HT_API void onvif_free_StorageConfigurations(StorageConfigurationList ** p_head);
HT_API ONVIF_PROFILE * onvif_add_profile(ONVIF_PROFILE ** p_head);
HT_API ONVIF_PROFILE * onvif_find_profile(ONVIF_PROFILE * p_head, const char * token);
HT_API void onvif_free_profile(ONVIF_PROFILE * p_profile);
HT_API void onvif_free_profiles(ONVIF_PROFILE ** p_head);
HT_API MediaProfileList * onvif_add_MediaProfile(MediaProfileList ** p_head);
HT_API MediaProfileList * onvif_find_MediaProfile(MediaProfileList * p_head, const char * token);
HT_API void onvif_free_MediaProfiles(MediaProfileList ** p_head);
HT_API VideoSourceList * onvif_add_VideoSource(VideoSourceList ** p_head);
HT_API VideoSourceList * onvif_find_VideoSource(VideoSourceList * p_head, const char * token);
HT_API void onvif_free_VideoSources(VideoSourceList ** p_head);
HT_API VideoSourceList * onvif_get_cur_VideoSource(ONVIF_DEVICE * p_dev);
HT_API VideoSourceModeList * onvif_add_VideoSourceMode(VideoSourceModeList ** p_head);
HT_API void onvif_free_VideoSourceModes(VideoSourceModeList ** p_head);
HT_API VideoSourceConfigurationList * onvif_add_VideoSourceConfiguration(VideoSourceConfigurationList ** p_head);
HT_API VideoSourceConfigurationList * onvif_find_VideoSourceConfiguration(VideoSourceConfigurationList * p_head, const char * token);
HT_API void onvif_free_VideoSourceConfigurations(VideoSourceConfigurationList ** p_head);
HT_API VideoEncoder2ConfigurationList * onvif_add_VideoEncoder2Configuration(VideoEncoder2ConfigurationList ** p_head);
HT_API VideoEncoder2ConfigurationList * onvif_find_VideoEncoder2Configuration(VideoEncoder2ConfigurationList * p_head, const char * token);
HT_API void onvif_free_VideoEncoder2Configurations(VideoEncoder2ConfigurationList ** p_head);
HT_API NetworkInterfaceList * onvif_add_NetworkInterface(NetworkInterfaceList ** p_head);
HT_API NetworkInterfaceList * onvif_find_NetworkInterface(NetworkInterfaceList * p_head, const char * token);
HT_API void onvif_free_NetworkInterfaces(NetworkInterfaceList ** p_head);
HT_API Dot11AvailableNetworksList * onvif_add_Dot11AvailableNetworks(Dot11AvailableNetworksList ** p_head);
HT_API void onvif_free_Dot11AvailableNetworks(Dot11AvailableNetworksList ** p_head);
HT_API OSDConfigurationList * onvif_add_OSDConfiguration(OSDConfigurationList ** p_head);
HT_API OSDConfigurationList * onvif_find_OSDConfiguration(OSDConfigurationList * p_head, const char * token);
HT_API void onvif_free_OSDConfigurations(OSDConfigurationList ** p_head);
HT_API MetadataConfigurationList * onvif_add_MetadataConfiguration(MetadataConfigurationList ** p_head);
HT_API MetadataConfigurationList * onvif_find_MetadataConfiguration(MetadataConfigurationList * p_head, const char * token);
HT_API void onvif_free_MetadataConfigurations(MetadataConfigurationList ** p_head);
HT_API VideoEncoderConfigurationList * onvif_add_VideoEncoderConfiguration(VideoEncoderConfigurationList ** p_head);
HT_API VideoEncoderConfigurationList * onvif_find_VideoEncoderConfiguration(VideoEncoderConfigurationList * p_head, const char * token);
HT_API void onvif_free_VideoEncoderConfigurations(VideoEncoderConfigurationList ** p_head);
HT_API VideoEncoder2ConfigurationOptionsList * onvif_add_VideoEncoder2ConfigurationOptions(VideoEncoder2ConfigurationOptionsList ** p_head);
HT_API VideoEncoder2ConfigurationOptionsList * onvif_find_VideoEncoder2ConfigurationOptions(VideoEncoder2ConfigurationOptionsList * p_head, const char * encoding);
HT_API void onvif_free_VideoEncoder2ConfigurationOptions(VideoEncoder2ConfigurationOptionsList ** p_head);
HT_API NotificationMessageList * onvif_add_NotificationMessage(NotificationMessageList ** p_head);
HT_API void onvif_free_NotificationMessage(NotificationMessageList * p_message);
HT_API void onvif_free_NotificationMessages(NotificationMessageList ** p_head);
HT_API int onvif_get_NotificationMessages_nums(NotificationMessageList * p_head);
HT_API void onvif_device_add_NotificationMessages(ONVIF_DEVICE * p_dev, NotificationMessageList * p_notify);
HT_API int onvif_device_free_NotificationMessages(ONVIF_DEVICE * p_dev, int nums);
HT_API SimpleItemList * onvif_add_SimpleItem(SimpleItemList ** p_head);
HT_API void onvif_free_SimpleItems(SimpleItemList ** p_head);
HT_API const char * onvif_format_SimpleItem(SimpleItemList * p_item);
HT_API ElementItemList * onvif_add_ElementItem(ElementItemList ** p_head);
HT_API void onvif_free_ElementItems(ElementItemList ** p_head);
HT_API ImagingPresetList * onvif_add_ImagingPreset(ImagingPresetList ** p_head);
HT_API ImagingPresetList * onvif_find_ImagingPreset(ImagingPresetList * p_head, const char * token);
HT_API void onvif_free_ImagingPresets(ImagingPresetList ** p_head);
HT_API AudioSourceList * onvif_add_AudioSource(AudioSourceList ** p_head);
HT_API AudioSourceList * onvif_find_AudioSource(AudioSourceList * p_head, const char * token);
HT_API void onvif_free_AudioSources(AudioSourceList ** p_head);
HT_API AudioSourceConfigurationList * onvif_add_AudioSourceConfiguration(AudioSourceConfigurationList ** p_head);
HT_API AudioSourceConfigurationList * onvif_find_AudioSourceConfiguration(AudioSourceConfigurationList * p_head, const char * token);
HT_API void onvif_free_AudioSourceConfigurations(AudioSourceConfigurationList ** p_head);
HT_API AudioEncoderConfigurationList * onvif_add_AudioEncoderConfiguration(AudioEncoderConfigurationList ** p_head);
HT_API AudioEncoderConfigurationList * onvif_find_AudioEncoderConfiguration(AudioEncoderConfigurationList * p_head, const char * token);
HT_API void onvif_free_AudioEncoderConfigurations(AudioEncoderConfigurationList ** p_head);
HT_API AudioEncoder2ConfigurationList * onvif_add_AudioEncoder2Configuration(AudioEncoder2ConfigurationList ** p_head);
HT_API AudioEncoder2ConfigurationList * onvif_find_AudioEncoder2Configuration(AudioEncoder2ConfigurationList * p_head, const char * token);
HT_API void onvif_free_AudioEncoder2Configurations(AudioEncoder2ConfigurationList ** p_head);
HT_API AudioEncoder2ConfigurationOptionsList * onvif_add_AudioEncoder2ConfigurationOptions(AudioEncoder2ConfigurationOptionsList ** p_head);
HT_API AudioEncoder2ConfigurationOptionsList * onvif_find_AudioEncoder2ConfigurationOptions(AudioEncoder2ConfigurationOptionsList * p_head, const char * encoding);
HT_API void onvif_free_AudioEncoder2ConfigurationOptions(AudioEncoder2ConfigurationOptionsList ** p_head);
HT_API AudioDecoderConfigurationList * onvif_add_AudioDecoderConfiguration(AudioDecoderConfigurationList ** p_head);
HT_API void onvif_free_AudioDecoderConfigurations(AudioDecoderConfigurationList ** p_head);
HT_API MaskList * onvif_add_Mask(MaskList ** p_head);
HT_API MaskList * onvif_find_Mask(MaskList * p_head, const char * token);
HT_API void onvif_free_Masks(MaskList ** p_head);
HT_API PTZNodeList * onvif_add_PTZNode(PTZNodeList ** p_head);
HT_API PTZNodeList * onvif_find_PTZNode(PTZNodeList * p_head, const char * token);
HT_API void onvif_free_PTZNodes(PTZNodeList ** p_head);
HT_API PTZConfigurationList * onvif_add_PTZConfiguration(PTZConfigurationList ** p_head);
HT_API PTZConfigurationList * onvif_find_PTZConfiguration(PTZConfigurationList * p_head, const char * token);
HT_API void onvif_free_PTZConfigurations(PTZConfigurationList ** p_head);
HT_API PTZPresetList * onvif_add_PTZPreset(PTZPresetList ** p_head);
HT_API void onvif_free_PTZPresets(PTZPresetList ** p_head);
HT_API PTZPresetTourSpotList * onvif_add_PTZPresetTourSpot(PTZPresetTourSpotList ** p_head);
HT_API void onvif_free_PTZPresetTourSpots(PTZPresetTourSpotList ** p_head);
HT_API PresetTourList * onvif_add_PresetTour(PresetTourList ** p_head);
HT_API void onvif_free_PresetTours(PresetTourList ** p_head);
HT_API ConfigList * onvif_add_Config(ConfigList ** p_head);
HT_API void onvif_free_Config(ConfigList * p_head);
HT_API void onvif_free_Configs(ConfigList ** p_head);
HT_API ConfigList * onvif_find_Config(ConfigList * p_head, const char * name);
HT_API void onvif_remove_Config(ConfigList ** p_head, ConfigList * p_remove);
HT_API ConfigList * onvif_get_prev_Config(ConfigList * p_head, ConfigList * p_found);
HT_API ConfigDescriptionList * onvif_add_ConfigDescription(ConfigDescriptionList ** p_head);
HT_API void onvif_free_ConfigDescriptions(ConfigDescriptionList ** p_head);
HT_API ConfigDescription_MessagesList * onvif_add_ConfigDescription_Message(ConfigDescription_MessagesList ** p_head);
HT_API void onvif_free_ConfigDescription_Message(ConfigDescription_MessagesList * p_item);
HT_API void onvif_free_ConfigDescription_Messages(ConfigDescription_MessagesList ** p_head);
HT_API ConfigOptionsList * onvif_add_ConfigOptions(ConfigOptionsList ** p_head);
HT_API void onvif_free_ConfigOptions(ConfigOptionsList ** p_head);
HT_API SimpleItemDescriptionList * onvif_add_SimpleItemDescription(SimpleItemDescriptionList ** p_head);
HT_API void onvif_free_SimpleItemDescriptions(SimpleItemDescriptionList ** p_head);
HT_API VideoAnalyticsConfigurationList * onvif_add_VideoAnalyticsConfiguration(VideoAnalyticsConfigurationList ** p_head);
HT_API void onvif_free_VideoAnalyticsConfiguration(VideoAnalyticsConfigurationList * p_head);
HT_API void onvif_free_VideoAnalyticsConfigurations(VideoAnalyticsConfigurationList ** p_head);
HT_API AnalyticsModuleConfigOptionsList * onvif_add_AnalyticsModuleConfigOptions(AnalyticsModuleConfigOptionsList ** p_head);
HT_API void onvif_free_AnalyticsModuleConfigOptions(AnalyticsModuleConfigOptionsList ** p_head);
HT_API MetadataInfoList * onvif_add_MetadataInfo(MetadataInfoList ** p_head);
HT_API void onvif_free_MetadataInfo(MetadataInfoList ** p_head);
HT_API RecordingList * onvif_add_Recording(RecordingList ** p_head);
HT_API RecordingList * onvif_find_Recording(RecordingList * p_head, const char * token);
HT_API void onvif_free_Recordings(RecordingList ** p_head);
HT_API TrackList * onvif_add_Track(TrackList ** p_head);
HT_API void onvif_free_Tracks(TrackList ** p_head);
HT_API TrackList * onvif_find_Track(TrackList * p_head, const char * token);
HT_API RecordingJobList * onvif_add_RecordingJob(RecordingJobList ** p_head);
HT_API RecordingJobList * onvif_find_RecordingJob(RecordingJobList * p_head, const char * token);
HT_API void onvif_free_RecordingJobs(RecordingJobList ** p_head);
HT_API TrackAttributesList * onvif_add_TrackAttributes(TrackAttributesList ** p_head);
HT_API void onvif_free_TrackAttributes(TrackAttributesList ** p_head);
HT_API RecordingInformationList * onvif_add_RecordingInformation(RecordingInformationList ** p_head);
HT_API void onvif_free_RecordingInformations(RecordingInformationList ** p_head);
HT_API FindEventResultList * onvif_add_FindEventResult(FindEventResultList ** p_head);
HT_API void onvif_free_FindEventResults(FindEventResultList ** p_head);
HT_API FindMetadataResultList * onvif_add_FindMetadataResult(FindMetadataResultList ** p_head);
HT_API void onvif_free_FindMetadataResults(FindMetadataResultList ** p_head);
HT_API FindPTZPositionResultList * onvif_add_FindPTZPositionResult(FindPTZPositionResultList ** p_head);
HT_API void onvif_free_FindPTZPositionResults(FindPTZPositionResultList ** p_head);
HT_API AccessPointList * onvif_add_AccessPoint(AccessPointList ** p_head);
HT_API AccessPointList * onvif_find_AccessPoint(AccessPointList * p_head, const char * token);
HT_API void onvif_free_AccessPoints(AccessPointList ** p_head);
HT_API DoorInfoList * onvif_add_DoorInfo(DoorInfoList ** p_head);
HT_API DoorInfoList * onvif_find_DoorInfo(DoorInfoList * p_head, const char * token);
HT_API void onvif_free_DoorInfos(DoorInfoList ** p_head);
HT_API DoorList * onvif_add_Door(DoorList ** p_head);
HT_API DoorList * onvif_find_Door(DoorList * p_head, const char * token);
HT_API void onvif_free_Doors(DoorList ** p_head);
HT_API AreaList * onvif_add_Area(AreaList ** p_head);
HT_API AreaList * onvif_find_Area(AreaList * p_head, const char * token);
HT_API void onvif_free_Areas(AreaList ** p_head);
HT_API AudioOutputList * onvif_add_AudioOutput(AudioOutputList ** p_head);
HT_API void onvif_free_AudioOutputs(AudioOutputList ** p_head);
HT_API AudioOutputConfigurationList * onvif_add_AudioOutputConfiguration(AudioOutputConfigurationList ** p_head);
HT_API void onvif_free_AudioOutputConfigurations(AudioOutputConfigurationList ** p_head);
HT_API RelayOutputOptionsList * onvif_add_RelayOutputOptions(RelayOutputOptionsList ** p_head);
HT_API void onvif_free_RelayOutputOptions(RelayOutputOptionsList ** p_head);
HT_API RelayOutputList * onvif_add_RelayOutput(RelayOutputList ** p_head);
HT_API RelayOutputList * onvif_find_RelayOutput(RelayOutputList * p_head, const char * token);
HT_API void onvif_free_RelayOutputs(RelayOutputList ** p_head);
HT_API DigitalInputList * onvif_add_DigitalInput(DigitalInputList ** p_head);
HT_API DigitalInputList * onvif_find_DigitalInput(DigitalInputList * p_head, const char * token);
HT_API void onvif_free_DigitalInputs(DigitalInputList ** p_head);
HT_API ThermalConfigurationList * onvif_add_ThermalConfiguration(ThermalConfigurationList ** p_head);
HT_API void onvif_free_ThermalConfigurations(ThermalConfigurationList ** p_head);
HT_API ColorPaletteList * onvif_add_ColorPalette(ColorPaletteList ** p_head);
HT_API void onvif_free_ColorPalettes(ColorPaletteList ** p_head);
HT_API NUCTableList * onvif_add_NUCTable(NUCTableList ** p_head);
HT_API void onvif_free_NUCTables(NUCTableList ** p_head);
HT_API ReceiverList * onvif_add_Receiver(ReceiverList ** p_head);
HT_API ReceiverList * onvif_find_Receiver(ReceiverList * p_head, const char * token);
HT_API void onvif_free_Receivers(ReceiverList ** p_head);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -0,0 +1,489 @@
/***************************************************************************************
*
* IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
*
* By downloading, copying, installing or using the software you agree to this license.
* If you do not agree to this license, do not download, install,
* copy or use the software.
*
* Copyright (C) 2014-2024, Happytimesoft Corporation, all rights reserved.
*
* Redistribution and use in binary forms, with or without modification, are permitted.
*
* Unless required by applicable law or agreed to in writing, software distributed
* under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
* language governing permissions and limitations under the License.
*
****************************************************************************************/
#ifndef ONVIF_ACT_H
#define ONVIF_ACT_H
/*************************************************************************/
typedef enum
{
eActionNull = 0,
// onvif device service interfaces
etdsGetCapabilities,
etdsGetServices,
etdsGetServiceCapabilities,
etdsGetDeviceInformation,
etdsGetUsers,
etdsCreateUsers,
etdsDeleteUsers,
etdsSetUser,
etdsGetRemoteUser,
etdsSetRemoteUser,
etdsGetNetworkInterfaces,
etdsSetNetworkInterfaces,
etdsGetNTP,
etdsSetNTP,
etdsGetHostname,
etdsSetHostname,
etdsSetHostnameFromDHCP,
etdsGetDNS,
etdsSetDNS,
etdsGetDynamicDNS,
etdsSetDynamicDNS,
etdsGetNetworkProtocols,
etdsSetNetworkProtocols,
etdsGetDiscoveryMode,
etdsSetDiscoveryMode,
etdsGetNetworkDefaultGateway,
etdsSetNetworkDefaultGateway,
etdsGetZeroConfiguration,
etdsSetZeroConfiguration,
etdsGetEndpointReference,
etdsSendAuxiliaryCommand,
etdsGetRelayOutputs,
etdsSetRelayOutputSettings,
etdsSetRelayOutputState,
etdsGetSystemDateAndTime,
etdsSetSystemDateAndTime,
etdsSystemReboot,
etdsSetSystemFactoryDefault,
etdsGetSystemLog,
etdsGetScopes,
etdsSetScopes,
etdsAddScopes,
etdsRemoveScopes,
etdsStartFirmwareUpgrade,
etdsGetSystemUris,
etdsStartSystemRestore,
etdsGetWsdlUrl,
etdsGetDot11Capabilities,
etdsGetDot11Status,
etdsScanAvailableDot11Networks,
etdsGetGeoLocation,
etdsSetGeoLocation,
etdsDeleteGeoLocation,
etdsSetHashingAlgorithm,
etdsGetIPAddressFilter,
etdsSetIPAddressFilter,
etdsAddIPAddressFilter,
etdsRemoveIPAddressFilter,
etdsGetAccessPolicy,
etdsSetAccessPolicy,
etdsGetStorageConfigurations,
etdsCreateStorageConfiguration,
etdsGetStorageConfiguration,
etdsSetStorageConfiguration,
etdsDeleteStorageConfiguration,
// onvif media service interfaces
etrtGetServiceCapabilities,
etrtGetVideoSources,
etrtGetAudioSources,
etrtCreateProfile,
etrtGetProfile,
etrtGetProfiles,
etrtAddVideoEncoderConfiguration,
etrtAddVideoSourceConfiguration,
etrtAddAudioEncoderConfiguration,
etrtAddAudioSourceConfiguration,
etrtGetVideoSourceModes,
etrtSetVideoSourceMode,
etrtAddPTZConfiguration,
etrtRemoveVideoEncoderConfiguration,
etrtRemoveVideoSourceConfiguration,
etrtRemoveAudioEncoderConfiguration,
etrtRemoveAudioSourceConfiguration,
etrtRemovePTZConfiguration,
etrtDeleteProfile,
etrtGetVideoSourceConfigurations,
etrtGetVideoEncoderConfigurations,
etrtGetAudioSourceConfigurations,
etrtGetAudioEncoderConfigurations,
etrtGetVideoSourceConfiguration,
etrtGetVideoEncoderConfiguration,
etrtGetAudioSourceConfiguration,
etrtGetAudioEncoderConfiguration,
etrtSetVideoSourceConfiguration,
etrtSetVideoEncoderConfiguration,
etrtSetAudioSourceConfiguration,
etrtSetAudioEncoderConfiguration,
etrtGetVideoSourceConfigurationOptions,
etrtGetVideoEncoderConfigurationOptions,
etrtGetAudioSourceConfigurationOptions,
etrtGetAudioEncoderConfigurationOptions,
etrtGetStreamUri,
etrtSetSynchronizationPoint,
etrtGetSnapshotUri,
etrtGetGuaranteedNumberOfVideoEncoderInstances,
etrtGetAudioOutputs,
etrtGetAudioOutputConfigurations,
etrtGetAudioOutputConfiguration,
etrtGetAudioOutputConfigurationOptions,
etrtSetAudioOutputConfiguration,
etrtGetAudioDecoderConfigurations,
etrtGetAudioDecoderConfiguration,
etrtGetAudioDecoderConfigurationOptions,
etrtSetAudioDecoderConfiguration,
etrtAddAudioOutputConfiguration,
etrtAddAudioDecoderConfiguration,
etrtRemoveAudioOutputConfiguration,
etrtRemoveAudioDecoderConfiguration,
etrtGetOSDs,
etrtGetOSD,
etrtSetOSD,
etrtGetOSDOptions,
etrtCreateOSD,
etrtDeleteOSD,
etrtGetVideoAnalyticsConfigurations,
etrtAddVideoAnalyticsConfiguration,
etrtGetVideoAnalyticsConfiguration,
etrtRemoveVideoAnalyticsConfiguration,
etrtSetVideoAnalyticsConfiguration,
etrtGetMetadataConfigurations,
etrtAddMetadataConfiguration,
etrtGetMetadataConfiguration,
etrtRemoveMetadataConfiguration,
etrtSetMetadataConfiguration,
etrtGetMetadataConfigurationOptions,
etrtGetCompatibleVideoEncoderConfigurations,
etrtGetCompatibleAudioEncoderConfigurations,
etrtGetCompatibleVideoAnalyticsConfigurations,
etrtGetCompatibleMetadataConfigurations,
// onvif media 2 service interfaces
etr2GetServiceCapabilities,
etr2GetVideoEncoderConfigurations,
etr2SetVideoEncoderConfiguration,
etr2GetVideoEncoderConfigurationOptions,
etr2GetProfiles,
etr2CreateProfile,
etr2DeleteProfile,
etr2GetStreamUri,
etr2GetVideoSourceConfigurations,
etr2GetVideoSourceConfigurationOptions,
etr2SetVideoSourceConfiguration,
etr2SetSynchronizationPoint,
etr2GetMetadataConfigurations,
etr2GetMetadataConfigurationOptions,
etr2SetMetadataConfiguration,
etr2GetAudioEncoderConfigurations,
etr2GetAudioSourceConfigurations,
etr2GetAudioSourceConfigurationOptions,
etr2SetAudioSourceConfiguration,
etr2SetAudioEncoderConfiguration,
etr2GetAudioEncoderConfigurationOptions,
etr2AddConfiguration,
etr2RemoveConfiguration,
etr2GetVideoEncoderInstances,
etr2GetAudioOutputConfigurations,
etr2GetAudioOutputConfigurationOptions,
etr2SetAudioOutputConfiguration,
etr2GetAudioDecoderConfigurations,
etr2GetAudioDecoderConfigurationOptions,
etr2SetAudioDecoderConfiguration,
etr2GetSnapshotUri,
etr2StartMulticastStreaming,
etr2StopMulticastStreaming,
etr2GetVideoSourceModes,
etr2SetVideoSourceMode,
etr2CreateOSD,
etr2DeleteOSD,
etr2GetOSDs,
etr2SetOSD,
etr2GetOSDOptions,
etr2GetAnalyticsConfigurations,
etr2GetMasks,
etr2SetMask,
etr2CreateMask,
etr2DeleteMask,
etr2GetMaskOptions,
// onvif ptz service interfaces
eptzGetServiceCapabilities,
eptzGetNodes,
eptzGetNode,
eptzGetPresets,
eptzSetPreset,
eptzRemovePreset,
eptzGotoPreset,
eptzGotoHomePosition,
eptzSetHomePosition,
eptzGetStatus,
eptzContinuousMove,
eptzRelativeMove,
eptzAbsoluteMove,
eptzStop,
eptzGetConfigurations,
eptzGetConfiguration,
eptzSetConfiguration,
eptzGetConfigurationOptions,
eptzGetPresetTours,
eptzGetPresetTour,
eptzGetPresetTourOptions,
eptzCreatePresetTour,
eptzModifyPresetTour,
eptzOperatePresetTour,
eptzRemovePresetTour,
eptzSendAuxiliaryCommand,
eptzGeoMove,
// onvif event service interfaces
etevGetServiceCapabilities,
etevGetEventProperties,
etevRenew,
etevUnsubscribe,
etevSubscribe,
etevPauseSubscription,
etevResumeSubscription,
etevCreatePullPointSubscription,
etevDestroyPullPoint,
etevPullMessages,
etevGetMessages,
etevSeek,
etevSetSynchronizationPoint,
// onvif imaging service interfaces
eimgGetServiceCapabilities,
eimgGetImagingSettings,
eimgSetImagingSettings,
eimgGetOptions,
eimgMove,
eimgStop,
eimgGetStatus,
eimgGetMoveOptions,
eimgGetPresets,
eimgGetCurrentPreset,
eimgSetCurrentPreset,
// onvif device IO service interfaces
etmdGetServiceCapabilities,
etmdGetRelayOutputs,
etmdGetRelayOutputOptions,
etmdSetRelayOutputSettings,
etmdSetRelayOutputState,
etmdGetDigitalInputs,
etmdGetDigitalInputConfigurationOptions,
etmdSetDigitalInputConfigurations,
// onvif recording service interfaces
etrcGetServiceCapabilities,
etrcCreateRecording,
etrcDeleteRecording,
etrcGetRecordings,
etrcSetRecordingConfiguration,
etrcGetRecordingConfiguration,
etrcGetRecordingOptions,
etrcCreateTrack,
etrcDeleteTrack,
etrcGetTrackConfiguration,
etrcSetTrackConfiguration,
etrcCreateRecordingJob,
etrcDeleteRecordingJob,
etrcGetRecordingJobs,
etrcSetRecordingJobConfiguration,
etrcGetRecordingJobConfiguration,
etrcSetRecordingJobMode,
etrcGetRecordingJobState,
etrcExportRecordedData,
etrcStopExportRecordedData,
etrcGetExportRecordedDataState,
// onvif replay service interfaces
etrpGetServiceCapabilities,
etrpGetReplayUri,
etrpGetReplayConfiguration,
etrpSetReplayConfiguration,
// onvif search service interfaces
etseGetServiceCapabilities,
etseGetRecordingSummary,
etseGetRecordingInformation,
etseGetMediaAttributes,
etseFindRecordings,
etseGetRecordingSearchResults,
etseFindEvents,
etseGetEventSearchResults,
etseFindMetadata,
etseGetMetadataSearchResults,
etseFindPTZPosition,
etseGetPTZPositionSearchResults,
etseGetSearchState,
etseEndSearch,
// onvif analytics service interfaces
etanGetServiceCapabilities,
etanGetSupportedRules,
etanCreateRules,
etanDeleteRules,
etanGetRules,
etanModifyRules,
etanCreateAnalyticsModules,
etanDeleteAnalyticsModules,
etanGetAnalyticsModules,
etanModifyAnalyticsModules,
etanGetSupportedAnalyticsModules,
etanGetRuleOptions,
etanGetAnalyticsModuleOptions,
etanGetSupportedMetadata,
// onvif access control service interface
etacGetServiceCapabilities,
etacGetAccessPointInfoList,
etacGetAccessPointInfo,
etacGetAccessPointList,
etacGetAccessPoints,
etacCreateAccessPoint,
etacSetAccessPoint,
etacModifyAccessPoint,
etacDeleteAccessPoint,
etacGetAreaInfoList,
etacGetAreaInfo,
etacGetAreaList,
etacGetAreas,
etacCreateArea,
etacSetArea,
etacModifyArea,
etacDeleteArea,
etacGetAccessPointState,
etacEnableAccessPoint,
etacDisableAccessPoint,
// onvif door control service interface
etdcGetServiceCapabilities,
etdcGetDoorInfoList,
etdcGetDoorInfo,
etdcGetDoorState,
etdcAccessDoor,
etdcLockDoor,
etdcUnlockDoor,
etdcDoubleLockDoor,
etdcBlockDoor,
etdcLockDownDoor,
etdcLockDownReleaseDoor,
etdcLockOpenDoor,
etdcLockOpenReleaseDoor,
etdcGetDoors,
etdcGetDoorList,
etdcCreateDoor,
etdcSetDoor,
etdcModifyDoor,
etdcDeleteDoor,
// onvif thermal service interfaces
etthGetServiceCapabilities,
etthGetConfigurations,
etthGetConfiguration,
etthSetConfiguration,
etthGetConfigurationOptions,
etthGetRadiometryConfiguration,
etthSetRadiometryConfiguration,
etthGetRadiometryConfigurationOptions,
// onvif credential service interfaces
etcrGetServiceCapabilities,
etcrGetCredentialInfo,
etcrGetCredentialInfoList,
etcrGetCredentials,
etcrGetCredentialList,
etcrCreateCredential,
etcrModifyCredential,
etcrDeleteCredential,
etcrGetCredentialState,
etcrEnableCredential,
etcrDisableCredential,
etcrResetAntipassbackViolation,
etcrGetSupportedFormatTypes,
etcrGetCredentialIdentifiers,
etcrSetCredentialIdentifier,
etcrDeleteCredentialIdentifier,
etcrGetCredentialAccessProfiles,
etcrSetCredentialAccessProfiles,
etcrDeleteCredentialAccessProfiles,
// onvif access rules service interfaces
etarGetServiceCapabilities,
etarGetAccessProfileInfo,
etarGetAccessProfileInfoList,
etarGetAccessProfiles,
etarGetAccessProfileList,
etarCreateAccessProfile,
etarModifyAccessProfile,
etarDeleteAccessProfile,
// onvif schedule service interface
etscGetServiceCapabilities,
etscGetScheduleInfo,
etscGetScheduleInfoList,
etscGetSchedules,
etscGetScheduleList,
etscCreateSchedule,
etscModifySchedule,
etscDeleteSchedule,
etscGetSpecialDayGroupInfo,
etscGetSpecialDayGroupInfoList,
etscGetSpecialDayGroups,
etscGetSpecialDayGroupList,
etscCreateSpecialDayGroup,
etscModifySpecialDayGroup,
etscDeleteSpecialDayGroup,
etscGetScheduleState,
// onvif receiver service interface
etrvGetServiceCapabilities,
etrvGetReceivers,
etrvGetReceiver,
etrvCreateReceiver,
etrvDeleteReceiver,
etrvConfigureReceiver,
etrvSetReceiverMode,
etrvGetReceiverState,
// onvif provisioning service interface
etpvGetServiceCapabilities,
etpvPanMove,
etpvTiltMove,
etpvZoomMove,
etpvRollMove,
etpvFocusMove,
etpvStop,
etpvGetUsage,
eActionMax
} eOnvifAction;
typedef struct
{
eOnvifAction type;
char action_url[256];
} OVFACTS;
#ifdef __cplusplus
extern "C" {
#endif
HT_API OVFACTS * onvif_find_action_by_type(eOnvifAction type);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -0,0 +1,117 @@
/***************************************************************************************
*
* IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
*
* By downloading, copying, installing or using the software you agree to this license.
* If you do not agree to this license, do not download, install,
* copy or use the software.
*
* Copyright (C) 2014-2024, Happytimesoft Corporation, all rights reserved.
*
* Redistribution and use in binary forms, with or without modification, are permitted.
*
* Unless required by applicable law or agreed to in writing, software distributed
* under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
* language governing permissions and limitations under the License.
*
****************************************************************************************/
#ifndef ONVIF_API_H
#define ONVIF_API_H
#include "sys_inc.h"
#include "onvif.h"
#include "onvif_cln.h"
#ifdef __cplusplus
extern "C" {
#endif
HT_API BOOL GetCapabilities(ONVIF_DEVICE * p_dev);
HT_API BOOL GetServices(ONVIF_DEVICE * p_dev);
HT_API BOOL GetSystemDateAndTime(ONVIF_DEVICE * p_dev);
HT_API BOOL SetSystemDateAndTime(ONVIF_DEVICE * p_dev);
HT_API BOOL GetDeviceInformation(ONVIF_DEVICE * p_dev);
HT_API BOOL GetProfiles(ONVIF_DEVICE * p_dev);
HT_API BOOL GetStreamUris(ONVIF_DEVICE * p_dev, onvif_TransportProtocol proto);
HT_API BOOL GetVideoSourceConfigurations(ONVIF_DEVICE * p_dev);
HT_API BOOL GetAudioSourceConfigurations(ONVIF_DEVICE * p_dev);
HT_API BOOL GetVideoEncoderConfigurations(ONVIF_DEVICE * p_dev);
HT_API BOOL GetAudioEncoderConfigurations(ONVIF_DEVICE * p_dev);
HT_API BOOL GetNodes(ONVIF_DEVICE * p_dev);
HT_API BOOL GetConfigurations(ONVIF_DEVICE * p_dev);
HT_API BOOL GetVideoSources(ONVIF_DEVICE * p_dev);
HT_API BOOL GetAudioSources(ONVIF_DEVICE * p_dev);
HT_API BOOL GetImagingSettings(ONVIF_DEVICE * p_dev);
HT_API BOOL Subscribe(ONVIF_DEVICE * p_dev, int index);
HT_API BOOL Unsubscribe(ONVIF_DEVICE * p_dev);
HT_API BOOL CreatePullPointSubscription(ONVIF_DEVICE * p_dev);
HT_API BOOL PullMessages(ONVIF_DEVICE * p_dev, int timeout, int message_limit, tev_PullMessages_RES * p_res);
/**
* @desc Get the device snapshot
* @param
* p_buf [out] return the snapshot buffer
* buflen [out] return the snapshot buffer length
*
* @note if call success, the caller should call FreeSnapshotBuff to free the snapshot buffer
*
*/
HT_API BOOL GetSnapshot(ONVIF_DEVICE * p_dev, const char * profile_token, unsigned char ** p_buf, int * buflen);
/**
* @desc Free the buffer
* @param
* p_buf the buffer
*
*/
HT_API void FreeBuff(unsigned char * p_buf);
/**
* @desc Firmware upgrade
* @param
* filename the upgrade filename
*
*/
HT_API BOOL FirmwareUpgrade(ONVIF_DEVICE * p_dev, const char * filename);
/**
* @desc backup system settings
* @param
* filename , save as system backup
*
*/
HT_API BOOL SystemBackup(ONVIF_DEVICE * p_dev, const char * filename);
/**
* @desc restore system settings
* @param
* filename the system backup filename
*
*/
HT_API BOOL SystemRestore(ONVIF_DEVICE * p_dev, const char * filename);
// media service 2 interface
HT_API BOOL tr2_GetProfiles(ONVIF_DEVICE * p_dev);
/**
* @desc GetStreamUris
* @param
* proto:
* RtspUnicast -- RTSP streaming RTP as UDP Unicast
* RtspMulticast -- RTSP streaming RTP as UDP Multicast
* RTSP -- RTSP streaming RTP over TCP
* RtspOverHttp -- Tunneling both the RTSP control channel and the RTP stream over HTTP or HTTPS
*/
HT_API BOOL tr2_GetStreamUris(ONVIF_DEVICE * p_dev, const char * proto);
HT_API BOOL tr2_GetVideoSourceConfigurations(ONVIF_DEVICE * p_dev);
HT_API BOOL tr2_GetAudioSourceConfigurations(ONVIF_DEVICE * p_dev);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -0,0 +1,487 @@
/***************************************************************************************
*
* IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
*
* By downloading, copying, installing or using the software you agree to this license.
* If you do not agree to this license, do not download, install,
* copy or use the software.
*
* Copyright (C) 2014-2024, Happytimesoft Corporation, all rights reserved.
*
* Redistribution and use in binary forms, with or without modification, are permitted.
*
* Unless required by applicable law or agreed to in writing, software distributed
* under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
* language governing permissions and limitations under the License.
*
****************************************************************************************/
#ifndef ONVIF_CLIENT_H
#define ONVIF_CLIENT_H
#include "onvif.h"
#include "onvif_req.h"
#include "onvif_res.h"
#ifdef __cplusplus
extern "C" {
#endif
HT_API void onvif_SetAuthInfo(ONVIF_DEVICE * p_dev, const char * user, const char * pass);
HT_API void onvif_SetAuthMethod(ONVIF_DEVICE * p_dev, onvif_AuthMethod method);
HT_API void onvif_SetReqTimeout(ONVIF_DEVICE * p_dev, int timeout /* millisecond */);
HT_API char * onvif_GetErrString(ONVIF_DEVICE * p_dev);
// onvif device service interfaces
HT_API BOOL onvif_tds_GetCapabilities(ONVIF_DEVICE * p_dev, tds_GetCapabilities_REQ * p_req, tds_GetCapabilities_RES * p_res);
HT_API BOOL onvif_tds_GetServices(ONVIF_DEVICE * p_dev, tds_GetServices_REQ * p_req, tds_GetServices_RES * p_res);
HT_API BOOL onvif_tds_GetServiceCapabilities(ONVIF_DEVICE * p_dev, tds_GetServiceCapabilities_REQ * p_req, tds_GetServiceCapabilities_RES * p_res);
HT_API BOOL onvif_tds_GetDeviceInformation(ONVIF_DEVICE * p_dev, tds_GetDeviceInformation_REQ * p_req, tds_GetDeviceInformation_RES * p_res);
HT_API BOOL onvif_tds_GetUsers(ONVIF_DEVICE * p_dev, tds_GetUsers_REQ * p_req, tds_GetUsers_RES * p_res);
HT_API BOOL onvif_tds_CreateUsers(ONVIF_DEVICE * p_dev, tds_CreateUsers_REQ * p_req, tds_CreateUsers_RES * p_res);
HT_API BOOL onvif_tds_DeleteUsers(ONVIF_DEVICE * p_dev, tds_DeleteUsers_REQ * p_req, tds_DeleteUsers_RES * p_res);
HT_API BOOL onvif_tds_SetUser(ONVIF_DEVICE * p_dev, tds_SetUser_REQ * p_req, tds_SetUser_RES * p_res);
HT_API BOOL onvif_tds_GetRemoteUser(ONVIF_DEVICE * p_dev, tds_GetRemoteUser_REQ * p_req, tds_GetRemoteUser_RES * p_res);
HT_API BOOL onvif_tds_SetRemoteUser(ONVIF_DEVICE * p_dev, tds_SetRemoteUser_REQ * p_req, tds_SetRemoteUser_RES * p_res);
HT_API BOOL onvif_tds_GetNetworkInterfaces(ONVIF_DEVICE * p_dev, tds_GetNetworkInterfaces_REQ * p_req, tds_GetNetworkInterfaces_RES * p_res);
HT_API BOOL onvif_tds_SetNetworkInterfaces(ONVIF_DEVICE * p_dev, tds_SetNetworkInterfaces_REQ * p_req, tds_SetNetworkInterfaces_RES * p_res);
HT_API BOOL onvif_tds_GetNTP(ONVIF_DEVICE * p_dev, tds_GetNTP_REQ * p_req, tds_GetNTP_RES * p_res);
HT_API BOOL onvif_tds_SetNTP(ONVIF_DEVICE * p_dev, tds_SetNTP_REQ * p_req, tds_SetNTP_RES * p_res);
HT_API BOOL onvif_tds_GetHostname(ONVIF_DEVICE * p_dev, tds_GetHostname_REQ * p_req, tds_GetHostname_RES * p_res);
HT_API BOOL onvif_tds_SetHostname(ONVIF_DEVICE * p_dev, tds_SetHostname_REQ * p_req, tds_SetHostname_RES * p_res);
HT_API BOOL onvif_tds_SetHostnameFromDHCP(ONVIF_DEVICE * p_dev, tds_SetHostnameFromDHCP_REQ * p_req, tds_SetHostnameFromDHCP_RES * p_res);
HT_API BOOL onvif_tds_GetDNS(ONVIF_DEVICE * p_dev, tds_GetDNS_REQ * p_req, tds_GetDNS_RES * p_res);
HT_API BOOL onvif_tds_SetDNS(ONVIF_DEVICE * p_dev, tds_SetDNS_REQ * p_req, tds_SetDNS_RES * p_res);
HT_API BOOL onvif_tds_GetDynamicDNS(ONVIF_DEVICE * p_dev, tds_GetDynamicDNS_REQ * p_req, tds_GetDynamicDNS_RES * p_res);
HT_API BOOL onvif_tds_SetDynamicDNS(ONVIF_DEVICE * p_dev, tds_SetDynamicDNS_REQ * p_req, tds_SetDynamicDNS_RES * p_res);
HT_API BOOL onvif_tds_GetNetworkProtocols(ONVIF_DEVICE * p_dev, tds_GetNetworkProtocols_REQ * p_req, tds_GetNetworkProtocols_RES * p_res);
HT_API BOOL onvif_tds_SetNetworkProtocols(ONVIF_DEVICE * p_dev, tds_SetNetworkProtocols_REQ * p_req, tds_SetNetworkProtocols_RES * p_res);
HT_API BOOL onvif_tds_GetDiscoveryMode(ONVIF_DEVICE * p_dev, tds_GetDiscoveryMode_REQ * p_req, tds_GetDiscoveryMode_RES * p_res);
HT_API BOOL onvif_tds_SetDiscoveryMode(ONVIF_DEVICE * p_dev, tds_SetDiscoveryMode_REQ * p_req, tds_SetDiscoveryMode_RES * p_res);
HT_API BOOL onvif_tds_GetNetworkDefaultGateway(ONVIF_DEVICE * p_dev, tds_GetNetworkDefaultGateway_REQ * p_req, tds_GetNetworkDefaultGateway_RES * p_res);
HT_API BOOL onvif_tds_SetNetworkDefaultGateway(ONVIF_DEVICE * p_dev, tds_SetNetworkDefaultGateway_REQ * p_req, tds_SetNetworkDefaultGateway_RES * p_res);
HT_API BOOL onvif_tds_GetZeroConfiguration(ONVIF_DEVICE * p_dev, tds_GetZeroConfiguration_REQ * p_req, tds_GetZeroConfiguration_RES * p_res);
HT_API BOOL onvif_tds_SetZeroConfiguration(ONVIF_DEVICE * p_dev, tds_SetZeroConfiguration_REQ * p_req, tds_SetZeroConfiguration_RES * p_res);
HT_API BOOL onvif_tds_GetEndpointReference(ONVIF_DEVICE * p_dev, tds_GetEndpointReference_REQ * p_req, tds_GetEndpointReference_RES * p_res);
HT_API BOOL onvif_tds_SendAuxiliaryCommand(ONVIF_DEVICE * p_dev, tds_SendAuxiliaryCommand_REQ * p_req, tds_SendAuxiliaryCommand_RES * p_res);
HT_API BOOL onvif_tds_GetRelayOutputs(ONVIF_DEVICE * p_dev, tds_GetRelayOutputs_REQ * p_req, tds_GetRelayOutputs_RES * p_res);
HT_API BOOL onvif_tds_SetRelayOutputSettings(ONVIF_DEVICE * p_dev, tds_SetRelayOutputSettings_REQ * p_req, tds_SetRelayOutputSettings_RES * p_res);
HT_API BOOL onvif_tds_SetRelayOutputState(ONVIF_DEVICE * p_dev, tds_SetRelayOutputState_REQ * p_req, tds_SetRelayOutputState_RES * p_res);
HT_API BOOL onvif_tds_GetSystemDateAndTime(ONVIF_DEVICE * p_dev, tds_GetSystemDateAndTime_REQ * p_req, tds_GetSystemDateAndTime_RES * p_res);
HT_API BOOL onvif_tds_SetSystemDateAndTime(ONVIF_DEVICE * p_dev, tds_SetSystemDateAndTime_REQ * p_req, tds_SetSystemDateAndTime_RES * p_res);
HT_API BOOL onvif_tds_SystemReboot(ONVIF_DEVICE * p_dev, tds_SystemReboot_REQ * p_req, tds_SystemReboot_RES * p_res);
HT_API BOOL onvif_tds_SetSystemFactoryDefault(ONVIF_DEVICE * p_dev, tds_SetSystemFactoryDefault_REQ * p_req, tds_SetSystemFactoryDefault_RES * p_res);
HT_API BOOL onvif_tds_GetSystemLog(ONVIF_DEVICE * p_dev, tds_GetSystemLog_REQ * p_req, tds_GetSystemLog_RES * p_res);
HT_API BOOL onvif_tds_GetScopes(ONVIF_DEVICE * p_dev, tds_GetScopes_REQ * p_req, tds_GetScopes_RES * p_res);
HT_API BOOL onvif_tds_SetScopes(ONVIF_DEVICE * p_dev, tds_SetScopes_REQ * p_req, tds_SetScopes_RES * p_res);
HT_API BOOL onvif_tds_AddScopes(ONVIF_DEVICE * p_dev, tds_AddScopes_REQ * p_req, tds_AddScopes_RES * p_res);
HT_API BOOL onvif_tds_RemoveScopes(ONVIF_DEVICE * p_dev, tds_RemoveScopes_REQ * p_req, tds_RemoveScopes_RES * p_res);
HT_API BOOL onvif_tds_StartFirmwareUpgrade(ONVIF_DEVICE * p_dev, tds_StartFirmwareUpgrade_REQ * p_req, tds_StartFirmwareUpgrade_RES * p_res);
HT_API BOOL onvif_tds_GetSystemUris(ONVIF_DEVICE * p_dev, tds_GetSystemUris_REQ * p_req, tds_GetSystemUris_RES * p_res);
HT_API BOOL onvif_tds_StartSystemRestore(ONVIF_DEVICE * p_dev, tds_StartSystemRestore_REQ * p_req, tds_StartSystemRestore_RES * p_res);
HT_API BOOL onvif_tds_GetWsdlUrl(ONVIF_DEVICE * p_dev, tds_GetWsdlUrl_REQ * p_req, tds_GetWsdlUrl_RES * p_res);
HT_API BOOL onvif_tds_GetDot11Capabilities(ONVIF_DEVICE * p_dev, tds_GetDot11Capabilities_REQ * p_req, tds_GetDot11Capabilities_RES * p_res);
HT_API BOOL onvif_tds_GetDot11Status(ONVIF_DEVICE * p_dev, tds_GetDot11Status_REQ * p_req, tds_GetDot11Status_RES * p_res);
HT_API BOOL onvif_tds_ScanAvailableDot11Networks(ONVIF_DEVICE * p_dev, tds_ScanAvailableDot11Networks_REQ * p_req, tds_ScanAvailableDot11Networks_RES * p_res);
HT_API BOOL onvif_tds_GetGeoLocation(ONVIF_DEVICE * p_dev, tds_GetGeoLocation_REQ * p_req, tds_GetGeoLocation_RES * p_res);
HT_API BOOL onvif_tds_SetGeoLocation(ONVIF_DEVICE * p_dev, tds_SetGeoLocation_REQ * p_req, tds_SetGeoLocation_RES * p_res);
HT_API BOOL onvif_tds_DeleteGeoLocation(ONVIF_DEVICE * p_dev, tds_DeleteGeoLocation_REQ * p_req, tds_DeleteGeoLocation_RES * p_res);
HT_API BOOL onvif_tds_SetHashingAlgorithm(ONVIF_DEVICE * p_dev, tds_SetHashingAlgorithm_REQ * p_req, tds_SetHashingAlgorithm_RES * p_res);
// IP address filter interfaces
HT_API BOOL onvif_tds_GetIPAddressFilter(ONVIF_DEVICE * p_dev, tds_GetIPAddressFilter_REQ * p_req, tds_GetIPAddressFilter_RES * p_res);
HT_API BOOL onvif_tds_SetIPAddressFilter(ONVIF_DEVICE * p_dev, tds_SetIPAddressFilter_REQ * p_req, tds_SetIPAddressFilter_RES * p_res);
HT_API BOOL onvif_tds_AddIPAddressFilter(ONVIF_DEVICE * p_dev, tds_AddIPAddressFilter_REQ * p_req, tds_AddIPAddressFilter_RES * p_res);
HT_API BOOL onvif_tds_RemoveIPAddressFilter(ONVIF_DEVICE * p_dev, tds_RemoveIPAddressFilter_REQ * p_req, tds_RemoveIPAddressFilter_RES * p_res);
// If call succesful, should call free to free p_res->PolicyFile.Data.ptr
HT_API BOOL onvif_tds_GetAccessPolicy(ONVIF_DEVICE * p_dev, tds_GetAccessPolicy_REQ * p_req, tds_GetAccessPolicy_RES * p_res);
HT_API BOOL onvif_tds_SetAccessPolicy(ONVIF_DEVICE * p_dev, tds_SetAccessPolicy_REQ * p_req, tds_SetAccessPolicy_RES * p_res);
HT_API BOOL onvif_tds_GetStorageConfigurations(ONVIF_DEVICE * p_dev, tds_GetStorageConfigurations_REQ * p_req, tds_GetStorageConfigurations_RES * p_res);
HT_API BOOL onvif_tds_CreateStorageConfiguration(ONVIF_DEVICE * p_dev, tds_CreateStorageConfiguration_REQ * p_req, tds_CreateStorageConfiguration_RES * p_res);
HT_API BOOL onvif_tds_GetStorageConfiguration(ONVIF_DEVICE * p_dev, tds_GetStorageConfiguration_REQ * p_req, tds_GetStorageConfiguration_RES * p_res);
HT_API BOOL onvif_tds_SetStorageConfiguration(ONVIF_DEVICE * p_dev, tds_SetStorageConfiguration_REQ * p_req, tds_SetStorageConfiguration_RES * p_res);
HT_API BOOL onvif_tds_DeleteStorageConfiguration(ONVIF_DEVICE * p_dev, tds_DeleteStorageConfiguration_REQ * p_req, tds_DeleteStorageConfiguration_RES * p_res);
// onvif media service interfaces
HT_API BOOL onvif_trt_GetServiceCapabilities(ONVIF_DEVICE * p_dev, trt_GetServiceCapabilities_REQ * p_req, trt_GetServiceCapabilities_RES * p_res);
HT_API BOOL onvif_trt_GetVideoSources(ONVIF_DEVICE * p_dev, trt_GetVideoSources_REQ * p_req, trt_GetVideoSources_RES * p_res);
HT_API BOOL onvif_trt_GetAudioSources(ONVIF_DEVICE * p_dev, trt_GetAudioSources_REQ * p_req, trt_GetAudioSources_RES * p_res);
HT_API BOOL onvif_trt_CreateProfile(ONVIF_DEVICE * p_dev, trt_CreateProfile_REQ * p_req, trt_CreateProfile_RES * p_res);
HT_API BOOL onvif_trt_GetProfile(ONVIF_DEVICE * p_dev, trt_GetProfile_REQ * p_req, trt_GetProfile_RES * p_res);
HT_API BOOL onvif_trt_GetProfiles(ONVIF_DEVICE * p_dev, trt_GetProfiles_REQ * p_req, trt_GetProfiles_RES * p_res);
HT_API BOOL onvif_trt_AddVideoEncoderConfiguration(ONVIF_DEVICE * p_dev, trt_AddVideoEncoderConfiguration_REQ * p_req, trt_AddVideoEncoderConfiguration_RES * p_res);
HT_API BOOL onvif_trt_AddVideoSourceConfiguration(ONVIF_DEVICE * p_dev, trt_AddVideoSourceConfiguration_REQ * p_req, trt_AddVideoSourceConfiguration_RES * p_res);
HT_API BOOL onvif_trt_AddAudioEncoderConfiguration(ONVIF_DEVICE * p_dev, trt_AddAudioEncoderConfiguration_REQ * p_req, trt_AddAudioEncoderConfiguration_RES * p_res);
HT_API BOOL onvif_trt_AddAudioSourceConfiguration(ONVIF_DEVICE * p_dev, trt_AddAudioSourceConfiguration_REQ * p_req, trt_AddAudioSourceConfiguration_RES * p_res);
HT_API BOOL onvif_trt_GetVideoSourceModes(ONVIF_DEVICE * p_dev, trt_GetVideoSourceModes_REQ * p_req, trt_GetVideoSourceModes_RES * p_res);
HT_API BOOL onvif_trt_SetVideoSourceMode(ONVIF_DEVICE * p_dev, trt_SetVideoSourceMode_REQ * p_req, trt_SetVideoSourceMode_RES * p_res);
HT_API BOOL onvif_trt_AddPTZConfiguration(ONVIF_DEVICE * p_dev, trt_AddPTZConfiguration_REQ * p_req, trt_AddPTZConfiguration_RES * p_res);
HT_API BOOL onvif_trt_RemoveVideoEncoderConfiguration(ONVIF_DEVICE * p_dev, trt_RemoveVideoEncoderConfiguration_REQ * p_req, trt_RemoveVideoEncoderConfiguration_RES * p_res);
HT_API BOOL onvif_trt_RemoveVideoSourceConfiguration(ONVIF_DEVICE * p_dev, trt_RemoveVideoSourceConfiguration_REQ * p_req, trt_RemoveVideoSourceConfiguration_RES * p_res);
HT_API BOOL onvif_trt_RemoveAudioEncoderConfiguration(ONVIF_DEVICE * p_dev, trt_RemoveAudioEncoderConfiguration_REQ * p_req, trt_RemoveAudioEncoderConfiguration_RES * p_res);
HT_API BOOL onvif_trt_RemoveAudioSourceConfiguration(ONVIF_DEVICE * p_dev, trt_RemoveAudioSourceConfiguration_REQ * p_req, trt_RemoveAudioSourceConfiguration_RES * p_res);
HT_API BOOL onvif_trt_RemovePTZConfiguration(ONVIF_DEVICE * p_dev, trt_RemovePTZConfiguration_REQ * p_req, trt_RemovePTZConfiguration_RES * p_res);
HT_API BOOL onvif_trt_DeleteProfile(ONVIF_DEVICE * p_dev, trt_DeleteProfile_REQ * p_req, trt_DeleteProfile_RES * p_res);
HT_API BOOL onvif_trt_GetVideoSourceConfigurations(ONVIF_DEVICE * p_dev, trt_GetVideoSourceConfigurations_REQ * p_req, trt_GetVideoSourceConfigurations_RES * p_res);
HT_API BOOL onvif_trt_GetVideoEncoderConfigurations(ONVIF_DEVICE * p_dev, trt_GetVideoEncoderConfigurations_REQ * p_req, trt_GetVideoEncoderConfigurations_RES * p_res);
HT_API BOOL onvif_trt_GetAudioSourceConfigurations(ONVIF_DEVICE * p_dev, trt_GetAudioSourceConfigurations_REQ * p_req, trt_GetAudioSourceConfigurations_RES * p_res);
HT_API BOOL onvif_trt_GetAudioEncoderConfigurations(ONVIF_DEVICE * p_dev, trt_GetAudioEncoderConfigurations_REQ * p_req, trt_GetAudioEncoderConfigurations_RES * p_res);
HT_API BOOL onvif_trt_GetVideoSourceConfiguration(ONVIF_DEVICE * p_dev, trt_GetVideoSourceConfiguration_REQ * p_req, trt_GetVideoSourceConfiguration_RES * p_res);
HT_API BOOL onvif_trt_GetVideoEncoderConfiguration(ONVIF_DEVICE * p_dev, trt_GetVideoEncoderConfiguration_REQ * p_req, trt_GetVideoEncoderConfiguration_RES * p_res);
HT_API BOOL onvif_trt_GetAudioSourceConfiguration(ONVIF_DEVICE * p_dev, trt_GetAudioSourceConfiguration_REQ * p_req, trt_GetAudioSourceConfiguration_RES * p_res);
HT_API BOOL onvif_trt_GetAudioEncoderConfiguration(ONVIF_DEVICE * p_dev, trt_GetAudioEncoderConfiguration_REQ * p_req, trt_GetAudioEncoderConfiguration_RES * p_res);
HT_API BOOL onvif_trt_SetVideoSourceConfiguration(ONVIF_DEVICE * p_dev, trt_SetVideoSourceConfiguration_REQ * p_req, trt_SetVideoSourceConfiguration_RES * p_res);
HT_API BOOL onvif_trt_SetVideoEncoderConfiguration(ONVIF_DEVICE * p_dev, trt_SetVideoEncoderConfiguration_REQ * p_req, trt_SetVideoEncoderConfiguration_RES * p_res);
HT_API BOOL onvif_trt_SetAudioSourceConfiguration(ONVIF_DEVICE * p_dev, trt_SetAudioSourceConfiguration_REQ * p_req, trt_SetAudioSourceConfiguration_RES * p_res);
HT_API BOOL onvif_trt_SetAudioEncoderConfiguration(ONVIF_DEVICE * p_dev, trt_SetAudioEncoderConfiguration_REQ * p_req, trt_SetAudioEncoderConfiguration_RES * p_res);
HT_API BOOL onvif_trt_GetVideoSourceConfigurationOptions(ONVIF_DEVICE * p_dev, trt_GetVideoSourceConfigurationOptions_REQ * p_req, trt_GetVideoSourceConfigurationOptions_RES * p_res);
HT_API BOOL onvif_trt_GetVideoEncoderConfigurationOptions(ONVIF_DEVICE * p_dev, trt_GetVideoEncoderConfigurationOptions_REQ * p_req, trt_GetVideoEncoderConfigurationOptions_RES * p_res);
HT_API BOOL onvif_trt_GetAudioSourceConfigurationOptions(ONVIF_DEVICE * p_dev, trt_GetAudioSourceConfigurationOptions_REQ * p_req, trt_GetAudioSourceConfigurationOptions_RES * p_res);
HT_API BOOL onvif_trt_GetAudioEncoderConfigurationOptions(ONVIF_DEVICE * p_dev, trt_GetAudioEncoderConfigurationOptions_REQ * p_req, trt_GetAudioEncoderConfigurationOptions_RES * p_res);
HT_API BOOL onvif_trt_GetStreamUri(ONVIF_DEVICE * p_dev, trt_GetStreamUri_REQ * p_req, trt_GetStreamUri_RES * p_res);
HT_API BOOL onvif_trt_SetSynchronizationPoint(ONVIF_DEVICE * p_dev, trt_SetSynchronizationPoint_REQ * p_req, trt_SetSynchronizationPoint_RES * p_res);
HT_API BOOL onvif_trt_GetSnapshotUri(ONVIF_DEVICE * p_dev, trt_GetSnapshotUri_REQ * p_req, trt_GetSnapshotUri_RES * p_res);
HT_API BOOL onvif_trt_GetGuaranteedNumberOfVideoEncoderInstances(ONVIF_DEVICE * p_dev, trt_GetGuaranteedNumberOfVideoEncoderInstances_REQ * p_req, trt_GetGuaranteedNumberOfVideoEncoderInstances_RES * p_res);
HT_API BOOL onvif_trt_GetAudioOutputs(ONVIF_DEVICE * p_dev, trt_GetAudioOutputs_REQ * p_req, trt_GetAudioOutputs_RES * p_res);
HT_API BOOL onvif_trt_GetAudioOutputConfigurations(ONVIF_DEVICE * p_dev, trt_GetAudioOutputConfigurations_REQ * p_req, trt_GetAudioOutputConfigurations_RES * p_res);
HT_API BOOL onvif_trt_GetAudioOutputConfiguration(ONVIF_DEVICE * p_dev, trt_GetAudioOutputConfiguration_REQ * p_req, trt_GetAudioOutputConfiguration_RES * p_res);
HT_API BOOL onvif_trt_GetAudioOutputConfigurationOptions(ONVIF_DEVICE * p_dev, trt_GetAudioOutputConfigurationOptions_REQ * p_req, trt_GetAudioOutputConfigurationOptions_RES * p_res);
HT_API BOOL onvif_trt_SetAudioOutputConfiguration(ONVIF_DEVICE * p_dev, trt_SetAudioOutputConfiguration_REQ * p_req, trt_SetAudioOutputConfiguration_RES * p_res);
HT_API BOOL onvif_trt_GetAudioDecoderConfigurations(ONVIF_DEVICE * p_dev, trt_GetAudioDecoderConfigurations_REQ * p_req, trt_GetAudioDecoderConfigurations_RES * p_res);
HT_API BOOL onvif_trt_GetAudioDecoderConfiguration(ONVIF_DEVICE * p_dev, trt_GetAudioDecoderConfiguration_REQ * p_req, trt_GetAudioDecoderConfiguration_RES * p_res);
HT_API BOOL onvif_trt_GetAudioDecoderConfigurationOptions(ONVIF_DEVICE * p_dev, trt_GetAudioDecoderConfigurationOptions_REQ * p_req, trt_GetAudioDecoderConfigurationOptions_RES * p_res);
HT_API BOOL onvif_trt_SetAudioDecoderConfiguration(ONVIF_DEVICE * p_dev, trt_SetAudioDecoderConfiguration_REQ * p_req, trt_SetAudioDecoderConfiguration_RES * p_res);
HT_API BOOL onvif_trt_AddAudioOutputConfiguration(ONVIF_DEVICE * p_dev, trt_AddAudioOutputConfiguration_REQ * p_req, trt_AddAudioOutputConfiguration_RES * p_res);
HT_API BOOL onvif_trt_AddAudioDecoderConfiguration(ONVIF_DEVICE * p_dev, trt_AddAudioDecoderConfiguration_REQ * p_req, trt_AddAudioDecoderConfiguration_RES * p_res);
HT_API BOOL onvif_trt_RemoveAudioOutputConfiguration(ONVIF_DEVICE * p_dev, trt_RemoveAudioOutputConfiguration_REQ * p_req, trt_RemoveAudioOutputConfiguration_RES * p_res);
HT_API BOOL onvif_trt_RemoveAudioDecoderConfiguration(ONVIF_DEVICE * p_dev, trt_RemoveAudioDecoderConfiguration_REQ * p_req, trt_RemoveAudioDecoderConfiguration_RES * p_res);
HT_API BOOL onvif_trt_GetOSDs(ONVIF_DEVICE * p_dev, trt_GetOSDs_REQ * p_req, trt_GetOSDs_RES * p_res);
HT_API BOOL onvif_trt_GetOSD(ONVIF_DEVICE * p_dev, trt_GetOSD_REQ * p_req, trt_GetOSD_RES * p_res);
HT_API BOOL onvif_trt_SetOSD(ONVIF_DEVICE * p_dev, trt_SetOSD_REQ * p_req, trt_SetOSD_RES * p_res);
HT_API BOOL onvif_trt_GetOSDOptions(ONVIF_DEVICE * p_dev, trt_GetOSDOptions_REQ * p_req, trt_GetOSDOptions_RES * p_res);
HT_API BOOL onvif_trt_CreateOSD(ONVIF_DEVICE * p_dev, trt_CreateOSD_REQ * p_req, trt_CreateOSD_RES * p_res);
HT_API BOOL onvif_trt_DeleteOSD(ONVIF_DEVICE * p_dev, trt_DeleteOSD_REQ * p_req, trt_DeleteOSD_RES * p_res);
HT_API BOOL onvif_trt_GetVideoAnalyticsConfigurations(ONVIF_DEVICE * p_dev, trt_GetVideoAnalyticsConfigurations_REQ * p_req, trt_GetVideoAnalyticsConfigurations_RES * p_res);
HT_API BOOL onvif_trt_AddVideoAnalyticsConfiguration(ONVIF_DEVICE * p_dev, trt_AddVideoAnalyticsConfiguration_REQ * p_req, trt_AddVideoAnalyticsConfiguration_RES * p_res);
HT_API BOOL onvif_trt_GetVideoAnalyticsConfiguration(ONVIF_DEVICE * p_dev, trt_GetVideoAnalyticsConfiguration_REQ * p_req, trt_GetVideoAnalyticsConfiguration_RES * p_res);
HT_API BOOL onvif_trt_RemoveVideoAnalyticsConfiguration(ONVIF_DEVICE * p_dev, trt_RemoveVideoAnalyticsConfiguration_REQ * p_req, trt_RemoveVideoAnalyticsConfiguration_RES * p_res);
HT_API BOOL onvif_trt_SetVideoAnalyticsConfiguration(ONVIF_DEVICE * p_dev, trt_SetVideoAnalyticsConfiguration_REQ * p_req, trt_SetVideoAnalyticsConfiguration_RES * p_res);
HT_API BOOL onvif_trt_GetMetadataConfigurations(ONVIF_DEVICE * p_dev, trt_GetMetadataConfigurations_REQ * p_req, trt_GetMetadataConfigurations_RES * p_res);
HT_API BOOL onvif_trt_AddMetadataConfiguration(ONVIF_DEVICE * p_dev, trt_AddMetadataConfiguration_REQ * p_req, trt_AddMetadataConfiguration_RES * p_res);
HT_API BOOL onvif_trt_GetMetadataConfiguration(ONVIF_DEVICE * p_dev, trt_GetMetadataConfiguration_REQ * p_req, trt_GetMetadataConfiguration_RES * p_res);
HT_API BOOL onvif_trt_RemoveMetadataConfiguration(ONVIF_DEVICE * p_dev, trt_RemoveMetadataConfiguration_REQ * p_req, trt_RemoveMetadataConfiguration_RES * p_res);
HT_API BOOL onvif_trt_SetMetadataConfiguration(ONVIF_DEVICE * p_dev, trt_SetMetadataConfiguration_REQ * p_req, trt_SetMetadataConfiguration_RES * p_res);
HT_API BOOL onvif_trt_GetMetadataConfigurationOptions(ONVIF_DEVICE * p_dev, trt_GetMetadataConfigurationOptions_REQ * p_req, trt_GetMetadataConfigurationOptions_RES * p_res);
HT_API BOOL onvif_trt_GetCompatibleVideoEncoderConfigurations(ONVIF_DEVICE * p_dev, trt_GetCompatibleVideoEncoderConfigurations_REQ * p_req, trt_GetCompatibleVideoEncoderConfigurations_RES * p_res);
HT_API BOOL onvif_trt_GetCompatibleAudioEncoderConfigurations(ONVIF_DEVICE * p_dev, trt_GetCompatibleAudioEncoderConfigurations_REQ * p_req, trt_GetCompatibleAudioEncoderConfigurations_RES * p_res);
HT_API BOOL onvif_trt_GetCompatibleVideoAnalyticsConfigurations(ONVIF_DEVICE * p_dev, trt_GetCompatibleVideoAnalyticsConfigurations_REQ * p_req, trt_GetCompatibleVideoAnalyticsConfigurations_RES * p_res);
HT_API BOOL onvif_trt_GetCompatibleMetadataConfigurations(ONVIF_DEVICE * p_dev, trt_GetCompatibleMetadataConfigurations_REQ * p_req, trt_GetCompatibleMetadataConfigurations_RES * p_res);
// onvif ptz service interfaces
HT_API BOOL onvif_ptz_GetServiceCapabilities(ONVIF_DEVICE * p_dev, ptz_GetServiceCapabilities_REQ * p_req, ptz_GetServiceCapabilities_RES * p_res);
HT_API BOOL onvif_ptz_GetNodes(ONVIF_DEVICE * p_dev, ptz_GetNodes_REQ * p_req, ptz_GetNodes_RES * p_res);
HT_API BOOL onvif_ptz_GetNode(ONVIF_DEVICE * p_dev, ptz_GetNode_REQ * p_req, ptz_GetNode_RES * p_res);
HT_API BOOL onvif_ptz_GetPresets(ONVIF_DEVICE * p_dev, ptz_GetPresets_REQ * p_req, ptz_GetPresets_RES * p_res);
HT_API BOOL onvif_ptz_SetPreset(ONVIF_DEVICE * p_dev, ptz_SetPreset_REQ * p_req, ptz_SetPreset_RES * p_res);
HT_API BOOL onvif_ptz_RemovePreset(ONVIF_DEVICE * p_dev, ptz_RemovePreset_REQ * p_req, ptz_RemovePreset_RES * p_res);
HT_API BOOL onvif_ptz_GotoPreset(ONVIF_DEVICE * p_dev, ptz_GotoPreset_REQ * p_req, ptz_GotoPreset_RES * p_res);
HT_API BOOL onvif_ptz_GotoHomePosition(ONVIF_DEVICE * p_dev, ptz_GotoHomePosition_REQ * p_req, ptz_GotoHomePosition_RES * p_res);
HT_API BOOL onvif_ptz_SetHomePosition(ONVIF_DEVICE * p_dev, ptz_SetHomePosition_REQ * p_req, ptz_SetHomePosition_RES * p_res);
HT_API BOOL onvif_ptz_GetStatus(ONVIF_DEVICE * p_dev, ptz_GetStatus_REQ * p_req, ptz_GetStatus_RES * p_res);
HT_API BOOL onvif_ptz_ContinuousMove(ONVIF_DEVICE * p_dev, ptz_ContinuousMove_REQ * p_req, ptz_ContinuousMove_RES * p_res);
HT_API BOOL onvif_ptz_RelativeMove(ONVIF_DEVICE * p_dev, ptz_RelativeMove_REQ * p_req, ptz_RelativeMove_RES * p_res);
HT_API BOOL onvif_ptz_AbsoluteMove(ONVIF_DEVICE * p_dev, ptz_AbsoluteMove_REQ * p_req, ptz_AbsoluteMove_RES * p_res);
HT_API BOOL onvif_ptz_Stop(ONVIF_DEVICE * p_dev, ptz_Stop_REQ * p_req, ptz_Stop_RES * p_res);
HT_API BOOL onvif_ptz_GetConfigurations(ONVIF_DEVICE * p_dev, ptz_GetConfigurations_REQ * p_req, ptz_GetConfigurations_RES * p_res);
HT_API BOOL onvif_ptz_GetConfiguration(ONVIF_DEVICE * p_dev, ptz_GetConfiguration_REQ * p_req, ptz_GetConfiguration_RES * p_res);
HT_API BOOL onvif_ptz_SetConfiguration(ONVIF_DEVICE * p_dev, ptz_SetConfiguration_REQ * p_req, ptz_SetConfiguration_RES * p_res);
HT_API BOOL onvif_ptz_GetConfigurationOptions(ONVIF_DEVICE * p_dev, ptz_GetConfigurationOptions_REQ * p_req, ptz_GetConfigurationOptions_RES * p_res);
HT_API BOOL onvif_ptz_GetPresetTours(ONVIF_DEVICE * p_dev, ptz_GetPresetTours_REQ * p_req, ptz_GetPresetTours_RES * p_res);
HT_API BOOL onvif_ptz_GetPresetTour(ONVIF_DEVICE * p_dev, ptz_GetPresetTour_REQ * p_req, ptz_GetPresetTour_RES * p_res);
HT_API BOOL onvif_ptz_GetPresetTourOptions(ONVIF_DEVICE * p_dev, ptz_GetPresetTourOptions_REQ * p_req, ptz_GetPresetTourOptions_RES * p_res);
HT_API BOOL onvif_ptz_CreatePresetTour(ONVIF_DEVICE * p_dev, ptz_CreatePresetTour_REQ * p_req, ptz_CreatePresetTour_RES * p_res);
HT_API BOOL onvif_ptz_ModifyPresetTour(ONVIF_DEVICE * p_dev, ptz_ModifyPresetTour_REQ * p_req, ptz_ModifyPresetTour_RES * p_res);
HT_API BOOL onvif_ptz_OperatePresetTour(ONVIF_DEVICE * p_dev, ptz_OperatePresetTour_REQ * p_req, ptz_OperatePresetTour_RES * p_res);
HT_API BOOL onvif_ptz_RemovePresetTour(ONVIF_DEVICE * p_dev, ptz_RemovePresetTour_REQ * p_req, ptz_RemovePresetTour_RES * p_res);
HT_API BOOL onvif_ptz_SendAuxiliaryCommand(ONVIF_DEVICE * p_dev, ptz_SendAuxiliaryCommand_REQ * p_req, ptz_SendAuxiliaryCommand_RES * p_res);
HT_API BOOL onvif_ptz_GeoMove(ONVIF_DEVICE * p_dev, ptz_GeoMove_REQ * p_req, ptz_GeoMove_RES * p_res);
// onvif event service interfaces
HT_API BOOL onvif_tev_GetServiceCapabilities(ONVIF_DEVICE * p_dev, tev_GetServiceCapabilities_REQ * p_req, tev_GetServiceCapabilities_RES * p_res);
HT_API BOOL onvif_tev_GetEventProperties(ONVIF_DEVICE * p_dev, tev_GetEventProperties_REQ * p_req, tev_GetEventProperties_RES * p_res);
HT_API BOOL onvif_tev_Renew(ONVIF_DEVICE * p_dev, tev_Renew_REQ * p_req, tev_Renew_RES * p_res);
HT_API BOOL onvif_tev_Unsubscribe(ONVIF_DEVICE * p_dev, tev_Unsubscribe_REQ * p_req, tev_Unsubscribe_RES * p_res);
HT_API BOOL onvif_tev_Subscribe(ONVIF_DEVICE * p_dev, tev_Subscribe_REQ * p_req, tev_Subscribe_RES * p_res);
HT_API BOOL onvif_tev_PauseSubscription(ONVIF_DEVICE * p_dev, tev_PauseSubscription_REQ * p_req, tev_PauseSubscription_RES * p_res);
HT_API BOOL onvif_tev_ResumeSubscription(ONVIF_DEVICE * p_dev, tev_ResumeSubscription_REQ * p_req, tev_ResumeSubscription_RES * p_res);
HT_API BOOL onvif_tev_CreatePullPointSubscription(ONVIF_DEVICE * p_dev, tev_CreatePullPointSubscription_REQ * p_req, tev_CreatePullPointSubscription_RES * p_res);
HT_API BOOL onvif_tev_DestroyPullPoint(ONVIF_DEVICE * p_dev, tev_DestroyPullPoint_REQ * p_req, tev_DestroyPullPoint_RES * p_res);
HT_API BOOL onvif_tev_PullMessages(ONVIF_DEVICE * p_dev, tev_PullMessages_REQ * p_req, tev_PullMessages_RES * p_res);
HT_API BOOL onvif_tev_GetMessages(ONVIF_DEVICE * p_dev, tev_GetMessages_REQ * p_req, tev_GetMessages_RES * p_res);
HT_API BOOL onvif_tev_Seek(ONVIF_DEVICE * p_dev, tev_Seek_REQ * p_req, tev_Seek_RES * p_res);
HT_API BOOL onvif_tev_SetSynchronizationPoint(ONVIF_DEVICE * p_dev, tev_SetSynchronizationPoint_REQ * p_req, tev_SetSynchronizationPoint_RES * p_res);
// onvif imaging service interfaces
HT_API BOOL onvif_img_GetServiceCapabilities(ONVIF_DEVICE * p_dev, img_GetServiceCapabilities_REQ * p_req, img_GetServiceCapabilities_RES * p_res);
HT_API BOOL onvif_img_GetImagingSettings(ONVIF_DEVICE * p_dev, img_GetImagingSettings_REQ * p_req, img_GetImagingSettings_RES * p_res);
HT_API BOOL onvif_img_SetImagingSettings(ONVIF_DEVICE * p_dev, img_SetImagingSettings_REQ * p_req, img_SetImagingSettings_RES * p_res);
HT_API BOOL onvif_img_GetOptions(ONVIF_DEVICE * p_dev, img_GetOptions_REQ * p_req, img_GetOptions_RES * p_res);
HT_API BOOL onvif_img_Move(ONVIF_DEVICE * p_dev, img_Move_REQ * p_req, img_Move_RES * p_res);
HT_API BOOL onvif_img_Stop(ONVIF_DEVICE * p_dev, img_Stop_REQ * p_req, img_Stop_RES * p_res);
HT_API BOOL onvif_img_GetStatus(ONVIF_DEVICE * p_dev, img_GetStatus_REQ * p_req, img_GetStatus_RES * p_res);
HT_API BOOL onvif_img_GetMoveOptions(ONVIF_DEVICE * p_dev, img_GetMoveOptions_REQ * p_req, img_GetMoveOptions_RES * p_res);
HT_API BOOL onvif_img_GetPresets(ONVIF_DEVICE * p_dev, img_GetPresets_REQ * p_req, img_GetPresets_RES * p_res);
HT_API BOOL onvif_img_GetCurrentPreset(ONVIF_DEVICE * p_dev, img_GetCurrentPreset_REQ * p_req, img_GetCurrentPreset_RES * p_res);
HT_API BOOL onvif_img_SetCurrentPreset(ONVIF_DEVICE * p_dev, img_SetCurrentPreset_REQ * p_req, img_SetCurrentPreset_RES * p_res);
// onvif device IO service interfaces
HT_API BOOL onvif_tmd_GetServiceCapabilities(ONVIF_DEVICE * p_dev, tmd_GetServiceCapabilities_REQ * p_req, tmd_GetServiceCapabilities_RES * p_res);
HT_API BOOL onvif_tmd_GetRelayOutputs(ONVIF_DEVICE * p_dev, tmd_GetRelayOutputs_REQ * p_req, tmd_GetRelayOutputs_RES * p_res);
HT_API BOOL onvif_tmd_GetRelayOutputOptions(ONVIF_DEVICE * p_dev, tmd_GetRelayOutputOptions_REQ * p_req, tmd_GetRelayOutputOptions_RES * p_res);
HT_API BOOL onvif_tmd_SetRelayOutputSettings(ONVIF_DEVICE * p_dev, tmd_SetRelayOutputSettings_REQ * p_req, tmd_SetRelayOutputSettings_RES * p_res);
HT_API BOOL onvif_tmd_SetRelayOutputState(ONVIF_DEVICE * p_dev, tmd_SetRelayOutputState_REQ * p_req, tmd_SetRelayOutputState_RES * p_res);
HT_API BOOL onvif_tmd_GetDigitalInputs(ONVIF_DEVICE * p_dev, tmd_GetDigitalInputs_REQ * p_req, tmd_GetDigitalInputs_RES * p_res);
HT_API BOOL onvif_tmd_GetDigitalInputConfigurationOptions(ONVIF_DEVICE * p_dev, tmd_GetDigitalInputConfigurationOptions_REQ * p_req, tmd_GetDigitalInputConfigurationOptions_RES * p_res);
HT_API BOOL onvif_tmd_SetDigitalInputConfigurations(ONVIF_DEVICE * p_dev, tmd_SetDigitalInputConfigurations_REQ * p_req, tmd_SetDigitalInputConfigurations_RES * p_res);
// onvif recording service interfaces
HT_API BOOL onvif_trc_GetServiceCapabilities(ONVIF_DEVICE * p_dev, trc_GetServiceCapabilities_REQ * p_req, trc_GetServiceCapabilities_RES * p_res);
HT_API BOOL onvif_trc_CreateRecording(ONVIF_DEVICE * p_dev, trc_CreateRecording_REQ * p_req, trc_CreateRecording_RES * p_res);
HT_API BOOL onvif_trc_DeleteRecording(ONVIF_DEVICE * p_dev, trc_DeleteRecording_REQ * p_req, trc_DeleteRecording_RES * p_res);
HT_API BOOL onvif_trc_GetRecordings(ONVIF_DEVICE * p_dev, trc_GetRecordings_REQ * p_req, trc_GetRecordings_RES * p_res);
HT_API BOOL onvif_trc_SetRecordingConfiguration(ONVIF_DEVICE * p_dev, trc_SetRecordingConfiguration_REQ * p_req, trc_SetRecordingConfiguration_RES * p_res);
HT_API BOOL onvif_trc_GetRecordingConfiguration(ONVIF_DEVICE * p_dev, trc_GetRecordingConfiguration_REQ * p_req, trc_GetRecordingConfiguration_RES * p_res);
HT_API BOOL onvif_trc_GetRecordingOptions(ONVIF_DEVICE * p_dev, trc_GetRecordingOptions_REQ * p_req, trc_GetRecordingOptions_RES * p_res);
HT_API BOOL onvif_trc_CreateTrack(ONVIF_DEVICE * p_dev, trc_CreateTrack_REQ * p_req, trc_CreateTrack_RES * p_res);
HT_API BOOL onvif_trc_DeleteTrack(ONVIF_DEVICE * p_dev, trc_DeleteTrack_REQ * p_req, trc_DeleteTrack_RES * p_res);
HT_API BOOL onvif_trc_GetTrackConfiguration(ONVIF_DEVICE * p_dev, trc_GetTrackConfiguration_REQ * p_req, trc_GetTrackConfiguration_RES * p_res);
HT_API BOOL onvif_trc_SetTrackConfiguration(ONVIF_DEVICE * p_dev, trc_SetTrackConfiguration_REQ * p_req, trc_SetTrackConfiguration_RES * p_res);
HT_API BOOL onvif_trc_CreateRecordingJob(ONVIF_DEVICE * p_dev, trc_CreateRecordingJob_REQ * p_req, trc_CreateRecordingJob_RES * p_res);
HT_API BOOL onvif_trc_DeleteRecordingJob(ONVIF_DEVICE * p_dev, trc_DeleteRecordingJob_REQ * p_req, trc_DeleteRecordingJob_RES * p_res);
HT_API BOOL onvif_trc_GetRecordingJobs(ONVIF_DEVICE * p_dev, trc_GetRecordingJobs_REQ * p_req, trc_GetRecordingJobs_RES * p_res);
HT_API BOOL onvif_trc_SetRecordingJobConfiguration(ONVIF_DEVICE * p_dev, trc_SetRecordingJobConfiguration_REQ * p_req, trc_SetRecordingJobConfiguration_RES * p_res);
HT_API BOOL onvif_trc_GetRecordingJobConfiguration(ONVIF_DEVICE * p_dev, trc_GetRecordingJobConfiguration_REQ * p_req, trc_GetRecordingJobConfiguration_RES * p_res);
HT_API BOOL onvif_trc_SetRecordingJobMode(ONVIF_DEVICE * p_dev, trc_SetRecordingJobMode_REQ * p_req, trc_SetRecordingJobMode_RES * p_res);
HT_API BOOL onvif_trc_GetRecordingJobState(ONVIF_DEVICE * p_dev, trc_GetRecordingJobState_REQ * p_req, trc_GetRecordingJobState_RES * p_res);
HT_API BOOL onvif_trc_ExportRecordedData(ONVIF_DEVICE * p_dev, trc_ExportRecordedData_REQ * p_req, trc_ExportRecordedData_RES * p_res);
HT_API BOOL onvif_trc_StopExportRecordedData(ONVIF_DEVICE * p_dev, trc_StopExportRecordedData_REQ * p_req, trc_StopExportRecordedData_RES * p_res);
HT_API BOOL onvif_trc_GetExportRecordedDataState(ONVIF_DEVICE * p_dev, trc_GetExportRecordedDataState_REQ * p_req, trc_GetExportRecordedDataState_RES * p_res);
// onvif replay service interfaces
HT_API BOOL onvif_trp_GetServiceCapabilities(ONVIF_DEVICE * p_dev, trp_GetServiceCapabilities_REQ * p_req, trp_GetServiceCapabilities_RES * p_res);
HT_API BOOL onvif_trp_GetReplayUri(ONVIF_DEVICE * p_dev, trp_GetReplayUri_REQ * p_req, trp_GetReplayUri_RES * p_res);
HT_API BOOL onvif_trp_GetReplayConfiguration(ONVIF_DEVICE * p_dev, trp_GetReplayConfiguration_REQ * p_req, trp_GetReplayConfiguration_RES * p_res);
HT_API BOOL onvif_trp_SetReplayConfiguration(ONVIF_DEVICE * p_dev, trp_SetReplayConfiguration_REQ * p_req, trp_SetReplayConfiguration_RES * p_res);
// onvif search service interfaces
HT_API BOOL onvif_tse_GetServiceCapabilities(ONVIF_DEVICE * p_dev, tse_GetServiceCapabilities_REQ * p_req, tse_GetServiceCapabilities_RES * p_res);
HT_API BOOL onvif_tse_GetRecordingSummary(ONVIF_DEVICE * p_dev, tse_GetRecordingSummary_REQ * p_req, tse_GetRecordingSummary_RES * p_res);
HT_API BOOL onvif_tse_GetRecordingInformation(ONVIF_DEVICE * p_dev, tse_GetRecordingInformation_REQ * p_req, tse_GetRecordingInformation_RES * p_res);
HT_API BOOL onvif_tse_GetMediaAttributes(ONVIF_DEVICE * p_dev, tse_GetMediaAttributes_REQ * p_req, tse_GetMediaAttributes_RES * p_res);
HT_API BOOL onvif_tse_FindRecordings(ONVIF_DEVICE * p_dev, tse_FindRecordings_REQ * p_req, tse_FindRecordings_RES * p_res);
HT_API BOOL onvif_tse_GetRecordingSearchResults(ONVIF_DEVICE * p_dev, tse_GetRecordingSearchResults_REQ * p_req, tse_GetRecordingSearchResults_RES * p_res);
HT_API BOOL onvif_tse_FindEvents(ONVIF_DEVICE * p_dev, tse_FindEvents_REQ * p_req, tse_FindEvents_RES * p_res);
HT_API BOOL onvif_tse_GetEventSearchResults(ONVIF_DEVICE * p_dev, tse_GetEventSearchResults_REQ * p_req, tse_GetEventSearchResults_RES * p_res);
HT_API BOOL onvif_tse_FindMetadata(ONVIF_DEVICE * p_dev, tse_FindMetadata_REQ * p_req, tse_FindMetadata_RES * p_res);
HT_API BOOL onvif_tse_GetMetadataSearchResults(ONVIF_DEVICE * p_dev, tse_GetMetadataSearchResults_REQ * p_req, tse_GetMetadataSearchResults_RES * p_res);
HT_API BOOL onvif_tse_FindPTZPosition(ONVIF_DEVICE * p_dev, tse_FindPTZPosition_REQ * p_req, tse_FindPTZPosition_RES * p_res);
HT_API BOOL onvif_tse_GetPTZPositionSearchResults(ONVIF_DEVICE * p_dev, tse_GetPTZPositionSearchResults_REQ * p_req, tse_GetPTZPositionSearchResults_RES * p_res);
HT_API BOOL onvif_tse_GetSearchState(ONVIF_DEVICE * p_dev, tse_GetSearchState_REQ * p_req, tse_GetSearchState_RES * p_res);
HT_API BOOL onvif_tse_EndSearch(ONVIF_DEVICE * p_dev, tse_EndSearch_REQ * p_req, tse_EndSearch_RES * p_res);
// onvif analytics service interfaces
HT_API BOOL onvif_tan_GetServiceCapabilities(ONVIF_DEVICE * p_dev, tan_GetServiceCapabilities_REQ * p_req, tan_GetServiceCapabilities_RES * p_res);
HT_API BOOL onvif_tan_GetSupportedRules(ONVIF_DEVICE * p_dev, tan_GetSupportedRules_REQ * p_req, tan_GetSupportedRules_RES * p_res);
HT_API BOOL onvif_tan_CreateRules(ONVIF_DEVICE * p_dev, tan_CreateRules_REQ * p_req, tan_CreateRules_RES * p_res);
HT_API BOOL onvif_tan_DeleteRules(ONVIF_DEVICE * p_dev, tan_DeleteRules_REQ * p_req, tan_DeleteRules_RES * p_res);
HT_API BOOL onvif_tan_GetRules(ONVIF_DEVICE * p_dev, tan_GetRules_REQ * p_req, tan_GetRules_RES * p_res);
HT_API BOOL onvif_tan_ModifyRules(ONVIF_DEVICE * p_dev, tan_ModifyRules_REQ * p_req, tan_ModifyRules_RES * p_res);
HT_API BOOL onvif_tan_CreateAnalyticsModules(ONVIF_DEVICE * p_dev, tan_CreateAnalyticsModules_REQ * p_req, tan_CreateAnalyticsModules_RES * p_res);
HT_API BOOL onvif_tan_DeleteAnalyticsModules(ONVIF_DEVICE * p_dev, tan_DeleteAnalyticsModules_REQ * p_req, tan_DeleteAnalyticsModules_RES * p_res);
HT_API BOOL onvif_tan_GetAnalyticsModules(ONVIF_DEVICE * p_dev, tan_GetAnalyticsModules_REQ * p_req, tan_GetAnalyticsModules_RES * p_res);
HT_API BOOL onvif_tan_ModifyAnalyticsModules(ONVIF_DEVICE * p_dev, tan_ModifyAnalyticsModules_REQ * p_req, tan_ModifyAnalyticsModules_RES * p_res);
HT_API BOOL onvif_tan_GetSupportedAnalyticsModules(ONVIF_DEVICE * p_dev, tan_GetSupportedAnalyticsModules_REQ * p_req, tan_GetSupportedAnalyticsModules_RES * p_res);
HT_API BOOL onvif_tan_GetRuleOptions(ONVIF_DEVICE * p_dev, tan_GetRuleOptions_REQ * p_req, tan_GetRuleOptions_RES * p_res);
HT_API BOOL onvif_tan_GetAnalyticsModuleOptions(ONVIF_DEVICE * p_dev, tan_GetAnalyticsModuleOptions_REQ * p_req, tan_GetAnalyticsModuleOptions_RES * p_res);
HT_API BOOL onvif_tan_GetSupportedMetadata(ONVIF_DEVICE * p_dev, tan_GetSupportedMetadata_REQ * p_req, tan_GetSupportedMetadata_RES * p_res);
// onvif media 2 service interfaces
HT_API BOOL onvif_tr2_GetServiceCapabilities(ONVIF_DEVICE * p_dev, tr2_GetServiceCapabilities_REQ * p_req, tr2_GetServiceCapabilities_RES * p_res);
HT_API BOOL onvif_tr2_GetVideoEncoderConfigurations(ONVIF_DEVICE * p_dev, tr2_GetVideoEncoderConfigurations_REQ * p_req, tr2_GetVideoEncoderConfigurations_RES * p_res);
HT_API BOOL onvif_tr2_SetVideoEncoderConfiguration(ONVIF_DEVICE * p_dev, tr2_SetVideoEncoderConfiguration_REQ * p_req, tr2_SetVideoEncoderConfiguration_RES * p_res);
HT_API BOOL onvif_tr2_GetVideoEncoderConfigurationOptions(ONVIF_DEVICE * p_dev, tr2_GetVideoEncoderConfigurationOptions_REQ * p_req, tr2_GetVideoEncoderConfigurationOptions_RES * p_res);
HT_API BOOL onvif_tr2_GetProfiles(ONVIF_DEVICE * p_dev, tr2_GetProfiles_REQ * p_req, tr2_GetProfiles_RES * p_res);
HT_API BOOL onvif_tr2_CreateProfile(ONVIF_DEVICE * p_dev, tr2_CreateProfile_REQ * p_req, tr2_CreateProfile_RES * p_res);
HT_API BOOL onvif_tr2_DeleteProfile(ONVIF_DEVICE * p_dev, tr2_DeleteProfile_REQ * p_req, tr2_DeleteProfile_RES * p_res);
HT_API BOOL onvif_tr2_GetStreamUri(ONVIF_DEVICE * p_dev, tr2_GetStreamUri_REQ * p_req, tr2_GetStreamUri_RES * p_res);
HT_API BOOL onvif_tr2_GetVideoSourceConfigurations(ONVIF_DEVICE * p_dev, tr2_GetVideoSourceConfigurations_REQ * p_req, tr2_GetVideoSourceConfigurations_RES * p_res);
HT_API BOOL onvif_tr2_GetVideoSourceConfigurationOptions(ONVIF_DEVICE * p_dev, tr2_GetVideoSourceConfigurationOptions_REQ * p_req, tr2_GetVideoSourceConfigurationOptions_RES * p_res);
HT_API BOOL onvif_tr2_SetVideoSourceConfiguration(ONVIF_DEVICE * p_dev, tr2_SetVideoSourceConfiguration_REQ * p_req, tr2_SetVideoSourceConfiguration_RES * p_res);
HT_API BOOL onvif_tr2_SetSynchronizationPoint(ONVIF_DEVICE * p_dev, tr2_SetSynchronizationPoint_REQ * p_req, tr2_SetSynchronizationPoint_RES * p_res);
HT_API BOOL onvif_tr2_GetMetadataConfigurations(ONVIF_DEVICE * p_dev, tr2_GetMetadataConfigurations_REQ * p_req, tr2_GetMetadataConfigurations_RES * p_res);
HT_API BOOL onvif_tr2_GetMetadataConfigurationOptions(ONVIF_DEVICE * p_dev, tr2_GetMetadataConfigurationOptions_REQ * p_req, tr2_GetMetadataConfigurationOptions_RES * p_res);
HT_API BOOL onvif_tr2_SetMetadataConfiguration(ONVIF_DEVICE * p_dev, tr2_SetMetadataConfiguration_REQ * p_req, tr2_SetMetadataConfiguration_RES * p_res);
HT_API BOOL onvif_tr2_GetAudioEncoderConfigurations(ONVIF_DEVICE * p_dev, tr2_GetAudioEncoderConfigurations_REQ * p_req, tr2_GetAudioEncoderConfigurations_RES * p_res);
HT_API BOOL onvif_tr2_GetAudioSourceConfigurations(ONVIF_DEVICE * p_dev, tr2_GetAudioSourceConfigurations_REQ * p_req, tr2_GetAudioSourceConfigurations_RES * p_res);
HT_API BOOL onvif_tr2_GetAudioSourceConfigurationOptions(ONVIF_DEVICE * p_dev, tr2_GetAudioSourceConfigurationOptions_REQ * p_req, tr2_GetAudioSourceConfigurationOptions_RES * p_res);
HT_API BOOL onvif_tr2_SetAudioSourceConfiguration(ONVIF_DEVICE * p_dev, tr2_SetAudioSourceConfiguration_REQ * p_req, tr2_SetAudioSourceConfiguration_RES * p_res);
HT_API BOOL onvif_tr2_SetAudioEncoderConfiguration(ONVIF_DEVICE * p_dev, tr2_SetAudioEncoderConfiguration_REQ * p_req, tr2_SetAudioEncoderConfiguration_RES * p_res);
HT_API BOOL onvif_tr2_GetAudioEncoderConfigurationOptions(ONVIF_DEVICE * p_dev, tr2_GetAudioEncoderConfigurationOptions_REQ * p_req, tr2_GetAudioEncoderConfigurationOptions_RES * p_res);
HT_API BOOL onvif_tr2_AddConfiguration(ONVIF_DEVICE * p_dev, tr2_AddConfiguration_REQ * p_req, tr2_AddConfiguration_RES * p_res);
HT_API BOOL onvif_tr2_RemoveConfiguration(ONVIF_DEVICE * p_dev, tr2_RemoveConfiguration_REQ * p_req, tr2_RemoveConfiguration_RES * p_res);
HT_API BOOL onvif_tr2_GetVideoEncoderInstances(ONVIF_DEVICE * p_dev, tr2_GetVideoEncoderInstances_REQ * p_req, tr2_GetVideoEncoderInstances_RES * p_res);
HT_API BOOL onvif_tr2_GetAudioOutputConfigurations(ONVIF_DEVICE * p_dev, tr2_GetAudioOutputConfigurations_REQ * p_req, tr2_GetAudioOutputConfigurations_RES * p_res);
HT_API BOOL onvif_tr2_GetAudioOutputConfigurationOptions(ONVIF_DEVICE * p_dev, tr2_GetAudioOutputConfigurationOptions_REQ * p_req, tr2_GetAudioOutputConfigurationOptions_RES * p_res);
HT_API BOOL onvif_tr2_SetAudioOutputConfiguration(ONVIF_DEVICE * p_dev, tr2_SetAudioOutputConfiguration_REQ * p_req, tr2_SetAudioOutputConfiguration_RES * p_res);
HT_API BOOL onvif_tr2_GetAudioDecoderConfigurations(ONVIF_DEVICE * p_dev, tr2_GetAudioDecoderConfigurations_REQ * p_req, tr2_GetAudioDecoderConfigurations_RES * p_res);
HT_API BOOL onvif_tr2_GetAudioDecoderConfigurationOptions(ONVIF_DEVICE * p_dev, tr2_GetAudioDecoderConfigurationOptions_REQ * p_req, tr2_GetAudioDecoderConfigurationOptions_RES * p_res);
HT_API BOOL onvif_tr2_SetAudioDecoderConfiguration(ONVIF_DEVICE * p_dev, tr2_SetAudioDecoderConfiguration_REQ * p_req, tr2_SetAudioDecoderConfiguration_RES * p_res);
HT_API BOOL onvif_tr2_GetSnapshotUri(ONVIF_DEVICE * p_dev, tr2_GetSnapshotUri_REQ * p_req, tr2_GetSnapshotUri_RES * p_res);
HT_API BOOL onvif_tr2_StartMulticastStreaming(ONVIF_DEVICE * p_dev, tr2_StartMulticastStreaming_REQ * p_req, tr2_StartMulticastStreaming_RES * p_res);
HT_API BOOL onvif_tr2_StopMulticastStreaming(ONVIF_DEVICE * p_dev, tr2_StopMulticastStreaming_REQ * p_req, tr2_StopMulticastStreaming_RES * p_res);
HT_API BOOL onvif_tr2_GetVideoSourceModes(ONVIF_DEVICE * p_dev, tr2_GetVideoSourceModes_REQ * p_req, tr2_GetVideoSourceModes_RES * p_res);
HT_API BOOL onvif_tr2_SetVideoSourceMode(ONVIF_DEVICE * p_dev, tr2_SetVideoSourceMode_REQ * p_req, tr2_SetVideoSourceMode_RES * p_res);
HT_API BOOL onvif_tr2_CreateOSD(ONVIF_DEVICE * p_dev, tr2_CreateOSD_REQ * p_req, tr2_CreateOSD_RES * p_res);
HT_API BOOL onvif_tr2_DeleteOSD(ONVIF_DEVICE * p_dev, tr2_DeleteOSD_REQ * p_req, tr2_DeleteOSD_RES * p_res);
HT_API BOOL onvif_tr2_GetOSDs(ONVIF_DEVICE * p_dev, tr2_GetOSDs_REQ * p_req, tr2_GetOSDs_RES * p_res);
HT_API BOOL onvif_tr2_SetOSD(ONVIF_DEVICE * p_dev, tr2_SetOSD_REQ * p_req, tr2_SetOSD_RES * p_res);
HT_API BOOL onvif_tr2_GetOSDOptions(ONVIF_DEVICE * p_dev, tr2_GetOSDOptions_REQ * p_req, tr2_GetOSDOptions_RES * p_res);
HT_API BOOL onvif_tr2_GetAnalyticsConfigurations(ONVIF_DEVICE * p_dev, tr2_GetAnalyticsConfigurations_REQ * p_req, tr2_GetAnalyticsConfigurations_RES * p_res);
HT_API BOOL onvif_tr2_GetMasks(ONVIF_DEVICE * p_dev, tr2_GetMasks_REQ * p_req, tr2_GetMasks_RES * p_res);
HT_API BOOL onvif_tr2_SetMask(ONVIF_DEVICE * p_dev, tr2_SetMask_REQ * p_req, tr2_SetMask_RES * p_res);
HT_API BOOL onvif_tr2_CreateMask(ONVIF_DEVICE * p_dev, tr2_CreateMask_REQ * p_req, tr2_CreateMask_RES * p_res);
HT_API BOOL onvif_tr2_DeleteMask(ONVIF_DEVICE * p_dev, tr2_DeleteMask_REQ * p_req, tr2_DeleteMask_RES * p_res);
HT_API BOOL onvif_tr2_GetMaskOptions(ONVIF_DEVICE * p_dev, tr2_GetMaskOptions_REQ * p_req, tr2_GetMaskOptions_RES * p_res);
// access control service interfaces
HT_API BOOL onvif_tac_GetServiceCapabilities(ONVIF_DEVICE * p_dev, tac_GetServiceCapabilities_REQ * p_req, tac_GetServiceCapabilities_RES * p_res);
HT_API BOOL onvif_tac_GetAccessPointInfoList(ONVIF_DEVICE * p_dev, tac_GetAccessPointInfoList_REQ * p_req, tac_GetAccessPointInfoList_RES * p_res);
HT_API BOOL onvif_tac_GetAccessPointInfo(ONVIF_DEVICE * p_dev, tac_GetAccessPointInfo_REQ * p_req, tac_GetAccessPointInfo_RES * p_res);
HT_API BOOL onvif_tac_GetAccessPointList(ONVIF_DEVICE * p_dev, tac_GetAccessPointList_REQ * p_req, tac_GetAccessPointList_RES * p_res);
HT_API BOOL onvif_tac_GetAccessPoints(ONVIF_DEVICE * p_dev, tac_GetAccessPoints_REQ * p_req, tac_GetAccessPoints_RES * p_res);
HT_API BOOL onvif_tac_CreateAccessPoint(ONVIF_DEVICE * p_dev, tac_CreateAccessPoint_REQ * p_req, tac_CreateAccessPoint_RES * p_res);
HT_API BOOL onvif_tac_SetAccessPoint(ONVIF_DEVICE * p_dev, tac_SetAccessPoint_REQ * p_req, tac_SetAccessPoint_RES * p_res);
HT_API BOOL onvif_tac_ModifyAccessPoint(ONVIF_DEVICE * p_dev, tac_ModifyAccessPoint_REQ * p_req, tac_ModifyAccessPoint_RES * p_res);
HT_API BOOL onvif_tac_DeleteAccessPoint(ONVIF_DEVICE * p_dev, tac_DeleteAccessPoint_REQ * p_req, tac_DeleteAccessPoint_RES * p_res);
HT_API BOOL onvif_tac_GetAreaInfoList(ONVIF_DEVICE * p_dev, tac_GetAreaInfoList_REQ * p_req, tac_GetAreaInfoList_RES * p_res);
HT_API BOOL onvif_tac_GetAreaInfo(ONVIF_DEVICE * p_dev, tac_GetAreaInfo_REQ * p_req, tac_GetAreaInfo_RES * p_res);
HT_API BOOL onvif_tac_GetAreaList(ONVIF_DEVICE * p_dev, tac_GetAreaList_REQ * p_req, tac_GetAreaList_RES * p_res);
HT_API BOOL onvif_tac_GetAreas(ONVIF_DEVICE * p_dev, tac_GetAreas_REQ * p_req, tac_GetAreas_RES * p_res);
HT_API BOOL onvif_tac_CreateArea(ONVIF_DEVICE * p_dev, tac_CreateArea_REQ * p_req, tac_CreateArea_RES * p_res);
HT_API BOOL onvif_tac_SetArea(ONVIF_DEVICE * p_dev, tac_SetArea_REQ * p_req, tac_SetArea_RES * p_res);
HT_API BOOL onvif_tac_ModifyArea(ONVIF_DEVICE * p_dev, tac_ModifyArea_REQ * p_req, tac_ModifyArea_RES * p_res);
HT_API BOOL onvif_tac_DeleteArea(ONVIF_DEVICE * p_dev, tac_DeleteArea_REQ * p_req, tac_DeleteArea_RES * p_res);
HT_API BOOL onvif_tac_GetAccessPointState(ONVIF_DEVICE * p_dev, tac_GetAccessPointState_REQ * p_req, tac_GetAccessPointState_RES * p_res);
HT_API BOOL onvif_tac_EnableAccessPoint(ONVIF_DEVICE * p_dev, tac_EnableAccessPoint_REQ * p_req, tac_EnableAccessPoint_RES * p_res);
HT_API BOOL onvif_tac_DisableAccessPoint(ONVIF_DEVICE * p_dev, tac_DisableAccessPoint_REQ * p_req, tac_DisableAccessPoint_RES * p_res);
// door control service interfaces
HT_API BOOL onvif_tdc_GetServiceCapabilities(ONVIF_DEVICE * p_dev, tdc_GetServiceCapabilities_REQ * p_req, tdc_GetServiceCapabilities_RES * p_res);
HT_API BOOL onvif_tdc_GetDoorInfoList(ONVIF_DEVICE * p_dev, tdc_GetDoorInfoList_REQ * p_req, tdc_GetDoorInfoList_RES * p_res);
HT_API BOOL onvif_tdc_GetDoorInfo(ONVIF_DEVICE * p_dev, tdc_GetDoorInfo_REQ * p_req, tdc_GetDoorInfo_RES * p_res);
HT_API BOOL onvif_tdc_GetDoorState(ONVIF_DEVICE * p_dev, tdc_GetDoorState_REQ * p_req, tdc_GetDoorState_RES * p_res);
HT_API BOOL onvif_tdc_AccessDoor(ONVIF_DEVICE * p_dev, tdc_AccessDoor_REQ * p_req, tdc_AccessDoor_RES * p_res);
HT_API BOOL onvif_tdc_LockDoor(ONVIF_DEVICE * p_dev, tdc_LockDoor_REQ * p_req, tdc_LockDoor_RES * p_res);
HT_API BOOL onvif_tdc_UnlockDoor(ONVIF_DEVICE * p_dev, tdc_UnlockDoor_REQ * p_req, tdc_UnlockDoor_RES * p_res);
HT_API BOOL onvif_tdc_DoubleLockDoor(ONVIF_DEVICE * p_dev, tdc_DoubleLockDoor_REQ * p_req, tdc_DoubleLockDoor_RES * p_res);
HT_API BOOL onvif_tdc_BlockDoor(ONVIF_DEVICE * p_dev, tdc_BlockDoor_REQ * p_req, tdc_BlockDoor_RES * p_res);
HT_API BOOL onvif_tdc_LockDownDoor(ONVIF_DEVICE * p_dev, tdc_LockDownDoor_REQ * p_req, tdc_LockDownDoor_RES * p_res);
HT_API BOOL onvif_tdc_LockDownReleaseDoor(ONVIF_DEVICE * p_dev, tdc_LockDownReleaseDoor_REQ * p_req, tdc_LockDownReleaseDoor_RES * p_res);
HT_API BOOL onvif_tdc_LockOpenDoor(ONVIF_DEVICE * p_dev, tdc_LockOpenDoor_REQ * p_req, tdc_LockOpenDoor_RES * p_res);
HT_API BOOL onvif_tdc_LockOpenReleaseDoor(ONVIF_DEVICE * p_dev, tdc_LockOpenReleaseDoor_REQ * p_req, tdc_LockOpenReleaseDoor_RES * p_res);
HT_API BOOL onvif_tdc_GetDoors(ONVIF_DEVICE * p_dev, tdc_GetDoors_REQ * p_req, tdc_GetDoors_RES * p_res);
HT_API BOOL onvif_tdc_GetDoorList(ONVIF_DEVICE * p_dev, tdc_GetDoorList_REQ * p_req, tdc_GetDoorList_RES * p_res);
HT_API BOOL onvif_tdc_CreateDoor(ONVIF_DEVICE * p_dev, tdc_CreateDoor_REQ * p_req, tdc_CreateDoor_RES * p_res);
HT_API BOOL onvif_tdc_SetDoor(ONVIF_DEVICE * p_dev, tdc_SetDoor_REQ * p_req, tdc_SetDoor_RES * p_res);
HT_API BOOL onvif_tdc_ModifyDoor(ONVIF_DEVICE * p_dev, tdc_ModifyDoor_REQ * p_req, tdc_ModifyDoor_RES * p_res);
HT_API BOOL onvif_tdc_DeleteDoor(ONVIF_DEVICE * p_dev, tdc_DeleteDoor_REQ * p_req, tdc_DeleteDoor_RES * p_res);
// thermal service interfaces
HT_API BOOL onvif_tth_GetServiceCapabilities(ONVIF_DEVICE * p_dev, tth_GetServiceCapabilities_REQ * p_req, tth_GetServiceCapabilities_RES * p_res);
HT_API BOOL onvif_tth_GetConfigurations(ONVIF_DEVICE * p_dev, tth_GetConfigurations_REQ * p_req, tth_GetConfigurations_RES * p_res);
HT_API BOOL onvif_tth_GetConfiguration(ONVIF_DEVICE * p_dev, tth_GetConfiguration_REQ * p_req, tth_GetConfiguration_RES * p_res);
HT_API BOOL onvif_tth_SetConfiguration(ONVIF_DEVICE * p_dev, tth_SetConfiguration_REQ * p_req, tth_SetConfiguration_RES * p_res);
HT_API BOOL onvif_tth_GetConfigurationOptions(ONVIF_DEVICE * p_dev, tth_GetConfigurationOptions_REQ * p_req, tth_GetConfigurationOptions_RES * p_res);
HT_API BOOL onvif_tth_GetRadiometryConfiguration(ONVIF_DEVICE * p_dev, tth_GetRadiometryConfiguration_REQ * p_req, tth_GetRadiometryConfiguration_RES * p_res);
HT_API BOOL onvif_tth_SetRadiometryConfiguration(ONVIF_DEVICE * p_dev, tth_SetRadiometryConfiguration_REQ * p_req, tth_SetRadiometryConfiguration_RES * p_res);
HT_API BOOL onvif_tth_GetRadiometryConfigurationOptions(ONVIF_DEVICE * p_dev, tth_GetRadiometryConfigurationOptions_REQ * p_req, tth_GetRadiometryConfigurationOptions_RES * p_res);
// credential service interfaces
HT_API BOOL onvif_tcr_GetServiceCapabilities(ONVIF_DEVICE * p_dev, tcr_GetServiceCapabilities_REQ * p_req, tcr_GetServiceCapabilities_RES * p_res);
HT_API BOOL onvif_tcr_GetCredentialInfo(ONVIF_DEVICE * p_dev, tcr_GetCredentialInfo_REQ * p_req, tcr_GetCredentialInfo_RES * p_res);
HT_API BOOL onvif_tcr_GetCredentialInfoList(ONVIF_DEVICE * p_dev, tcr_GetCredentialInfoList_REQ * p_req, tcr_GetCredentialInfoList_RES * p_res);
HT_API BOOL onvif_tcr_GetCredentials(ONVIF_DEVICE * p_dev, tcr_GetCredentials_REQ * p_req, tcr_GetCredentials_RES * p_res);
HT_API BOOL onvif_tcr_GetCredentialList(ONVIF_DEVICE * p_dev, tcr_GetCredentialList_REQ * p_req, tcr_GetCredentialList_RES * p_res);
HT_API BOOL onvif_tcr_CreateCredential(ONVIF_DEVICE * p_dev, tcr_CreateCredential_REQ * p_req, tcr_CreateCredential_RES * p_res);
HT_API BOOL onvif_tcr_ModifyCredential(ONVIF_DEVICE * p_dev, tcr_ModifyCredential_REQ * p_req, tcr_ModifyCredential_RES * p_res);
HT_API BOOL onvif_tcr_DeleteCredential(ONVIF_DEVICE * p_dev, tcr_DeleteCredential_REQ * p_req, tcr_DeleteCredential_RES * p_res);
HT_API BOOL onvif_tcr_GetCredentialState(ONVIF_DEVICE * p_dev, tcr_GetCredentialState_REQ * p_req, tcr_GetCredentialState_RES * p_res);
HT_API BOOL onvif_tcr_EnableCredential(ONVIF_DEVICE * p_dev, tcr_EnableCredential_REQ * p_req, tcr_EnableCredential_RES * p_res);
HT_API BOOL onvif_tcr_DisableCredential(ONVIF_DEVICE * p_dev, tcr_DisableCredential_REQ * p_req, tcr_DisableCredential_RES * p_res);
HT_API BOOL onvif_tcr_ResetAntipassbackViolation(ONVIF_DEVICE * p_dev, tcr_ResetAntipassbackViolation_REQ * p_req, tcr_ResetAntipassbackViolation_RES * p_res);
HT_API BOOL onvif_tcr_GetSupportedFormatTypes(ONVIF_DEVICE * p_dev, tcr_GetSupportedFormatTypes_REQ * p_req, tcr_GetSupportedFormatTypes_RES * p_res);
HT_API BOOL onvif_tcr_GetCredentialIdentifiers(ONVIF_DEVICE * p_dev, tcr_GetCredentialIdentifiers_REQ * p_req, tcr_GetCredentialIdentifiers_RES * p_res);
HT_API BOOL onvif_tcr_SetCredentialIdentifier(ONVIF_DEVICE * p_dev, tcr_SetCredentialIdentifier_REQ * p_req, tcr_SetCredentialIdentifier_RES * p_res);
HT_API BOOL onvif_tcr_DeleteCredentialIdentifier(ONVIF_DEVICE * p_dev, tcr_DeleteCredentialIdentifier_REQ * p_req, tcr_DeleteCredentialIdentifier_RES * p_res);
HT_API BOOL onvif_tcr_GetCredentialAccessProfiles(ONVIF_DEVICE * p_dev, tcr_GetCredentialAccessProfiles_REQ * p_req, tcr_GetCredentialAccessProfiles_RES * p_res);
HT_API BOOL onvif_tcr_SetCredentialAccessProfiles(ONVIF_DEVICE * p_dev, tcr_SetCredentialAccessProfiles_REQ * p_req, tcr_SetCredentialAccessProfiles_RES * p_res);
HT_API BOOL onvif_tcr_DeleteCredentialAccessProfiles(ONVIF_DEVICE * p_dev, tcr_DeleteCredentialAccessProfiles_REQ * p_req, tcr_DeleteCredentialAccessProfiles_RES * p_res);
// access rules service interfaces
HT_API BOOL onvif_tar_GetServiceCapabilities(ONVIF_DEVICE * p_dev, tar_GetServiceCapabilities_REQ * p_req, tar_GetServiceCapabilities_RES * p_res);
HT_API BOOL onvif_tar_GetAccessProfileInfo(ONVIF_DEVICE * p_dev, tar_GetAccessProfileInfo_REQ * p_req, tar_GetAccessProfileInfo_RES * p_res);
HT_API BOOL onvif_tar_GetAccessProfileInfoList(ONVIF_DEVICE * p_dev, tar_GetAccessProfileInfoList_REQ * p_req, tar_GetAccessProfileInfoList_RES * p_res);
HT_API BOOL onvif_tar_GetAccessProfiles(ONVIF_DEVICE * p_dev, tar_GetAccessProfiles_REQ * p_req, tar_GetAccessProfiles_RES * p_res);
HT_API BOOL onvif_tar_GetAccessProfileList(ONVIF_DEVICE * p_dev, tar_GetAccessProfileList_REQ * p_req, tar_GetAccessProfileList_RES * p_res);
HT_API BOOL onvif_tar_CreateAccessProfile(ONVIF_DEVICE * p_dev, tar_CreateAccessProfile_REQ * p_req, tar_CreateAccessProfile_RES * p_res);
HT_API BOOL onvif_tar_ModifyAccessProfile(ONVIF_DEVICE * p_dev, tar_ModifyAccessProfile_REQ * p_req, tar_ModifyAccessProfile_RES * p_res);
HT_API BOOL onvif_tar_DeleteAccessProfile(ONVIF_DEVICE * p_dev, tar_DeleteAccessProfile_REQ * p_req, tar_DeleteAccessProfile_RES * p_res);
// schedule service interface
HT_API BOOL onvif_tsc_GetServiceCapabilities(ONVIF_DEVICE * p_dev, tsc_GetServiceCapabilities_REQ * p_req, tsc_GetServiceCapabilities_RES * p_res);
HT_API BOOL onvif_tsc_GetScheduleInfo(ONVIF_DEVICE * p_dev, tsc_GetScheduleInfo_REQ * p_req, tsc_GetScheduleInfo_RES * p_res);
HT_API BOOL onvif_tsc_GetScheduleInfoList(ONVIF_DEVICE * p_dev, tsc_GetScheduleInfoList_REQ * p_req, tsc_GetScheduleInfoList_RES * p_res);
HT_API BOOL onvif_tsc_GetSchedules(ONVIF_DEVICE * p_dev, tsc_GetSchedules_REQ * p_req, tsc_GetSchedules_RES * p_res);
HT_API BOOL onvif_tsc_GetScheduleList(ONVIF_DEVICE * p_dev, tsc_GetScheduleList_REQ * p_req, tsc_GetScheduleList_RES * p_res);
HT_API BOOL onvif_tsc_CreateSchedule(ONVIF_DEVICE * p_dev, tsc_CreateSchedule_REQ * p_req, tsc_CreateSchedule_RES * p_res);
HT_API BOOL onvif_tsc_ModifySchedule(ONVIF_DEVICE * p_dev, tsc_ModifySchedule_REQ * p_req, tsc_ModifySchedule_RES * p_res);
HT_API BOOL onvif_tsc_DeleteSchedule(ONVIF_DEVICE * p_dev, tsc_DeleteSchedule_REQ * p_req, tsc_DeleteSchedule_RES * p_res);
HT_API BOOL onvif_tsc_GetSpecialDayGroupInfo(ONVIF_DEVICE * p_dev, tsc_GetSpecialDayGroupInfo_REQ * p_req, tsc_GetSpecialDayGroupInfo_RES * p_res);
HT_API BOOL onvif_tsc_GetSpecialDayGroupInfoList(ONVIF_DEVICE * p_dev, tsc_GetSpecialDayGroupInfoList_REQ * p_req, tsc_GetSpecialDayGroupInfoList_RES * p_res);
HT_API BOOL onvif_tsc_GetSpecialDayGroups(ONVIF_DEVICE * p_dev, tsc_GetSpecialDayGroups_REQ * p_req, tsc_GetSpecialDayGroups_RES * p_res);
HT_API BOOL onvif_tsc_GetSpecialDayGroupList(ONVIF_DEVICE * p_dev, tsc_GetSpecialDayGroupList_REQ * p_req, tsc_GetSpecialDayGroupList_RES * p_res);
HT_API BOOL onvif_tsc_CreateSpecialDayGroup(ONVIF_DEVICE * p_dev, tsc_CreateSpecialDayGroup_REQ * p_req, tsc_CreateSpecialDayGroup_RES * p_res);
HT_API BOOL onvif_tsc_ModifySpecialDayGroup(ONVIF_DEVICE * p_dev, tsc_ModifySpecialDayGroup_REQ * p_req, tsc_ModifySpecialDayGroup_RES * p_res);
HT_API BOOL onvif_tsc_DeleteSpecialDayGroup(ONVIF_DEVICE * p_dev, tsc_DeleteSpecialDayGroup_REQ * p_req, tsc_DeleteSpecialDayGroup_RES * p_res);
HT_API BOOL onvif_tsc_GetScheduleState(ONVIF_DEVICE * p_dev, tsc_GetScheduleState_REQ * p_req, tsc_GetScheduleState_RES * p_res);
// receiver service interfaces
HT_API BOOL onvif_trv_GetServiceCapabilities(ONVIF_DEVICE * p_dev, trv_GetServiceCapabilities_REQ * p_req, trv_GetServiceCapabilities_RES * p_res);
HT_API BOOL onvif_trv_GetReceivers(ONVIF_DEVICE * p_dev, trv_GetReceivers_REQ * p_req, trv_GetReceivers_RES * p_res);
HT_API BOOL onvif_trv_GetReceiver(ONVIF_DEVICE * p_dev, trv_GetReceiver_REQ * p_req, trv_GetReceiver_RES * p_res);
HT_API BOOL onvif_trv_CreateReceiver(ONVIF_DEVICE * p_dev, trv_CreateReceiver_REQ * p_req, trv_CreateReceiver_RES * p_res);
HT_API BOOL onvif_trv_DeleteReceiver(ONVIF_DEVICE * p_dev, trv_DeleteReceiver_REQ * p_req, trv_DeleteReceiver_RES * p_res);
HT_API BOOL onvif_trv_ConfigureReceiver(ONVIF_DEVICE * p_dev, trv_ConfigureReceiver_REQ * p_req, trv_ConfigureReceiver_RES * p_res);
HT_API BOOL onvif_trv_SetReceiverMode(ONVIF_DEVICE * p_dev, trv_SetReceiverMode_REQ * p_req, trv_SetReceiverMode_RES * p_res);
HT_API BOOL onvif_trv_GetReceiverState(ONVIF_DEVICE * p_dev, trv_GetReceiverState_REQ * p_req, trv_GetReceiverState_RES * p_res);
// provisioning interfaces
HT_API BOOL onvif_tpv_GetServiceCapabilities(ONVIF_DEVICE * p_dev, tpv_GetServiceCapabilities_REQ * p_req, tpv_GetServiceCapabilities_RES * p_res);
HT_API BOOL onvif_tpv_PanMove(ONVIF_DEVICE * p_dev, tpv_PanMove_REQ * p_req, tpv_PanMove_RES * p_res);
HT_API BOOL onvif_tpv_TiltMove(ONVIF_DEVICE * p_dev, tpv_TiltMove_REQ * p_req, tpv_TiltMove_RES * p_res);
HT_API BOOL onvif_tpv_ZoomMove(ONVIF_DEVICE * p_dev, tpv_ZoomMove_REQ * p_req, tpv_ZoomMove_RES * p_res);
HT_API BOOL onvif_tpv_RollMove(ONVIF_DEVICE * p_dev, tpv_RollMove_REQ * p_req, tpv_RollMove_RES * p_res);
HT_API BOOL onvif_tpv_FocusMove(ONVIF_DEVICE * p_dev, tpv_FocusMove_REQ * p_req, tpv_FocusMove_RES * p_res);
HT_API BOOL onvif_tpv_Stop(ONVIF_DEVICE * p_dev, tpv_Stop_REQ * p_req, tpv_Stop_RES * p_res);
HT_API BOOL onvif_tpv_GetUsage(ONVIF_DEVICE * p_dev, tpv_GetUsage_REQ * p_req, tpv_GetUsage_RES * p_res);
#ifdef __cplusplus
}
#endif
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,117 @@
/***************************************************************************************
*
* IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
*
* By downloading, copying, installing or using the software you agree to this license.
* If you do not agree to this license, do not download, install,
* copy or use the software.
*
* Copyright (C) 2014-2024, Happytimesoft Corporation, all rights reserved.
*
* Redistribution and use in binary forms, with or without modification, are permitted.
*
* Unless required by applicable law or agreed to in writing, software distributed
* under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
* language governing permissions and limitations under the License.
*
****************************************************************************************/
#ifndef ONVIF_EVENT_H
#define ONVIF_EVENT_H
#include "sys_inc.h"
#include "onvif.h"
#include "xml_node.h"
#include "onvif_req.h"
#include "http.h"
typedef struct
{
BOOL used_flag;
ONVIF_DEVICE * p_dev;
} ONVIF_TIMER_DEV;
typedef void (* onvif_event_notify_cb)(Notify_REQ * p_req, void * pdata);
typedef void (* onvif_subscribe_disconnect_cb)(ONVIF_DEVICE * p_dev, void * pdata);
typedef struct
{
onvif_event_notify_cb notify_cb;
void * notify_cb_data;
void * notify_cb_mutex;
onvif_subscribe_disconnect_cb disconnect_cb;
void * disconnect_cb_data;
void * disconnect_cb_mutex;
HTTPSRV http_srv; // http server for receiving event notify
pthread_t event_timer_id;
int event_timer_run;
PPSN_CTX * event_dev_fl;
PPSN_CTX * event_dev_ul;
int event_dev_max;
} ONVIF_EVENT_CLS;
#ifdef __cplusplus
extern "C" {
#endif
/**
* init event handler
*
* init http server for receiving event notify messages
*
* http_srv_addr : http server listen address, NULL means listening on all interfaces
* http_srv_port : http server listen port
* max_clients : max support client numbers
*
*/
HT_API BOOL onvif_event_init(const char * http_srv_addr, uint16 http_srv_port, int max_clients);
/**
* deinit event handler
*/
HT_API void onvif_event_deinit();
/**
* set event notify callback
*
* set cb to NULL, disable callback
*/
HT_API void onvif_set_event_notify_cb(onvif_event_notify_cb cb, void * pdata);
/**
* set event subscribe disconnect callback
*
* set cb to NULL, disable callback
*/
HT_API void onvif_set_subscribe_disconnect_cb(onvif_subscribe_disconnect_cb cb, void * pdata);
/**
* event notify handler, called by http_soap_process
*/
HT_API void onvif_event_notify(HTTPCLN * p_user, HTTPMSG * rx_msg, XMLN * p_xml);
/**
* add p_dev to event timer list, send renew request
*/
HT_API BOOL onvif_event_timer_add(ONVIF_DEVICE * p_dev);
/**
* del p_dev from event timer list
*/
HT_API BOOL onvif_event_timer_del(ONVIF_DEVICE * p_dev);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -0,0 +1,41 @@
/***************************************************************************************
*
* IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
*
* By downloading, copying, installing or using the software you agree to this license.
* If you do not agree to this license, do not download, install,
* copy or use the software.
*
* Copyright (C) 2014-2024, Happytimesoft Corporation, all rights reserved.
*
* Redistribution and use in binary forms, with or without modification, are permitted.
*
* Unless required by applicable law or agreed to in writing, software distributed
* under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
* language governing permissions and limitations under the License.
*
****************************************************************************************/
#ifndef ONVIF_HTTP_H
#define ONVIF_HTTP_H
#include "onvif.h"
#include "http.h"
#ifdef __cplusplus
extern "C" {
#endif
HT_API BOOL http_onvif_trans(HTTPREQ * p_http, int timeout, eOnvifAction act, ONVIF_DEVICE * p_dev, void * p_req, void * p_res);
HT_API BOOL http_onvif_file_upload(HTTPREQ * p_http, int timeout, const char * filename, ONVIF_DEVICE * p_dev);
HT_API BOOL http_onvif_download(HTTPREQ * p_http, int timeout, uint8 ** pp_buf, int * buflen, ONVIF_DEVICE * p_dev);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -0,0 +1,38 @@
/***************************************************************************************
*
* IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
*
* By downloading, copying, installing or using the software you agree to this license.
* If you do not agree to this license, do not download, install,
* copy or use the software.
*
* Copyright (C) 2014-2024, Happytimesoft Corporation, all rights reserved.
*
* Redistribution and use in binary forms, with or without modification, are permitted.
*
* Unless required by applicable law or agreed to in writing, software distributed
* under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
* language governing permissions and limitations under the License.
*
****************************************************************************************/
#ifndef ONVIF_PKT_H
#define ONVIF_PKT_H
#include "sys_inc.h"
#include "onvif.h"
#ifdef __cplusplus
extern "C" {
#endif
int build_onvif_req_xml(char * p_buf, int mlen, eOnvifAction type, ONVIF_DEVICE * p_dev, void * p_req);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -0,0 +1,123 @@
/***************************************************************************************
*
* IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
*
* By downloading, copying, installing or using the software you agree to this license.
* If you do not agree to this license, do not download, install,
* copy or use the software.
*
* Copyright (C) 2014-2024, Happytimesoft Corporation, all rights reserved.
*
* Redistribution and use in binary forms, with or without modification, are permitted.
*
* Unless required by applicable law or agreed to in writing, software distributed
* under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
* language governing permissions and limitations under the License.
*
****************************************************************************************/
#ifndef __H_ONVIF_PROBE_H__
#define __H_ONVIF_PROBE_H__
#include "onvif.h"
#define PROBE_MSGTYPE_MATCH 0
#define PROBE_MSGTYPE_HELLO 1
#define PROBE_MSGTYPE_BYE 2
#define MAX_PROBE_FD 8
/*
* onvif probe callback function
* p_res : the DEVICE_BINFO struct point
* pdata : the user data
* msgypte :
* PROBE_MSGTYPE_MATCH - probe match
* PROBE_MSGTYPE_HELLO - hello
* PROBE_MSGTYPE_BYE - bye
* note : if msgtype = PROBE_MSGTYPE_BYE, only p_res->EndpointReference field is valid, the other fields is invalid
*/
typedef void (* onvif_probe_cb)(DEVICE_BINFO * p_res, int msgtype, void * pdata);
typedef struct
{
onvif_probe_cb probe_cb;
void * probe_cb_data;
void * probe_mutex;
pthread_t probe_thread;
SOCKET probe_fd[MAX_PROBE_FD];
int probe_interval;
BOOL probe_running;
char monitor_reference[100];
int monitor_msgtype;
onvif_probe_cb monitor_cb;
void * monitor_cb_data;
void * monitor_mutex;
} ONVIF_PROBE_CLS;
#ifdef __cplusplus
extern "C" {
#endif
/**
* @desc, set monitor callback function
*
* @param,
* reference - endpoint reference
* msgtype - probe message type
* cb - callback function
* pdata - user data
*
**/
HT_API void set_monitor_cb(char * reference, int msgtype, onvif_probe_cb cb, void * pdata);
/**
* @desc, set probe callback function
*
* @param,
* cb - callback function
* pdata - user data
*
**/
HT_API void set_probe_cb(onvif_probe_cb cb, void * pdata);
/**
* @desc, set probe interval
*
* @param,
* interval - probe interval, unit is second, default is 30s
*
**/
HT_API void set_probe_interval(int interval);
/**
* @desc, start probe thread
*
* @param,
* ip - start probe thread on the specify ip address, it can be NULL, if ip is NULL, it will use the default ip
* interval - probe interval, unit is second, default is 30s
**/
HT_API int start_probe(const char * ip, int interval);
/**
* @desc, stop probe thread
*
**/
HT_API void stop_probe();
/**
* @desc, send probe request
*
**/
HT_API void send_probe_req();
#ifdef __cplusplus
}
#endif
#endif // __H_ONVIF_PROBE_H__

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,52 @@
/***************************************************************************************
*
* IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
*
* By downloading, copying, installing or using the software you agree to this license.
* If you do not agree to this license, do not download, install,
* copy or use the software.
*
* Copyright (C) 2014-2024, Happytimesoft Corporation, all rights reserved.
*
* Redistribution and use in binary forms, with or without modification, are permitted.
*
* Unless required by applicable law or agreed to in writing, software distributed
* under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
* language governing permissions and limitations under the License.
*
****************************************************************************************/
#ifndef _ONVIF_UTILS_H_
#define _ONVIF_UTILS_H_
#include "sys_inc.h"
#include "onvif.h"
#ifdef __cplusplus
extern "C" {
#endif
HT_API void onvif_get_time_str(char * buff, int len, int sec_off);
HT_API void onvif_get_time_str_s(char * buff, int len, time_t nowtime, int sec_off);
HT_API BOOL onvif_is_valid_hostname(const char * name);
HT_API BOOL onvif_is_valid_timezone(const char * tz);
HT_API void onvif_get_timezone(char * tz, int len, BOOL * daylight);
HT_API char * onvif_uuid_create(char * uuid, int len);
HT_API time_t onvif_timegm(struct tm *T);
HT_API int onvif_parse_xaddr(const char * pdata, char * host, int hostsize, char * url, int urlsize, int * port, int * https);
HT_API time_t onvif_datetime_to_time_t(onvif_DateTime * p_datetime);
HT_API void onvif_time_t_to_datetime(time_t n, onvif_DateTime * p_datetime);
HT_API char * onvif_format_datetime_str(time_t n, int flag, const char * format, char * buff, int buflen);
HT_API time_t onvif_timegm(struct tm *T);
HT_API int onvif_parse_uri(const char * p_in, char * p_out, int outlen);
HT_API char * onvif_format_float_num(float num, int precision, char * buff, int len);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -0,0 +1,29 @@
/***************************************************************************************
*
* IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
*
* By downloading, copying, installing or using the software you agree to this license.
* If you do not agree to this license, do not download, install,
* copy or use the software.
*
* Copyright (C) 2014-2024, Happytimesoft Corporation, all rights reserved.
*
* Redistribution and use in binary forms, with or without modification, are permitted.
*
* Unless required by applicable law or agreed to in writing, software distributed
* under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
* language governing permissions and limitations under the License.
*
****************************************************************************************/
#ifndef ONVIF_VER_H
#define ONVIF_VER_H
#define ONVIF_CLIENT_VERSION "V12.0"
#endif

View File

@@ -0,0 +1,40 @@
/***************************************************************************************
*
* IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
*
* By downloading, copying, installing or using the software you agree to this license.
* If you do not agree to this license, do not download, install,
* copy or use the software.
*
* Copyright (C) 2014-2024, Happytimesoft Corporation, all rights reserved.
*
* Redistribution and use in binary forms, with or without modification, are permitted.
*
* Unless required by applicable law or agreed to in writing, software distributed
* under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
* language governing permissions and limitations under the License.
*
****************************************************************************************/
#ifndef SOAP_H
#define SOAP_H
#include "sys_inc.h"
#include "onvif.h"
#include "xml_node.h"
#ifdef __cplusplus
extern "C" {
#endif
BOOL onvif_rly_handler(XMLN * p_xml, eOnvifAction act, ONVIF_DEVICE * p_dev, void * p_res);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -0,0 +1,435 @@
/***************************************************************************************
*
* IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
*
* By downloading, copying, installing or using the software you agree to this license.
* If you do not agree to this license, do not download, install,
* copy or use the software.
*
* Copyright (C) 2014-2024, Happytimesoft Corporation, all rights reserved.
*
* Redistribution and use in binary forms, with or without modification, are permitted.
*
* Unless required by applicable law or agreed to in writing, software distributed
* under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
* language governing permissions and limitations under the License.
*
****************************************************************************************/
#ifndef SOAP_PARSER_H
#define SOAP_PARSER_H
#include "sys_inc.h"
#include "onvif.h"
#include "xml_node.h"
#include "onvif_res.h"
#ifdef __cplusplus
extern "C" {
#endif
HT_API BOOL parse_Bool(const char * pdata);
HT_API int parse_DeviceType(const char * pdata);
HT_API int parse_XAddr(const char * pdata, onvif_XAddr * p_xaddr);
int parse_Time(const char * pdata);
BOOL parse_XSDDatetime(const char * s, time_t * p);
BOOL parse_XSDDuration(const char *s, int *a);
BOOL parse_Fault(XMLN * p_node, onvif_Fault * p_res);
BOOL parse_FloatRangeList(const char * p_buff, onvif_FloatRange * p_res);
BOOL parse_IntList(XMLN * p_node, onvif_IntList * p_res);
BOOL parse_IntRange(XMLN * p_node, onvif_IntRange * p_res);
BOOL parse_FloatRange(XMLN * p_node, onvif_FloatRange * p_res);
BOOL parse_EncodingList(const char * p_encoding, onvif_RecordingCapabilities * p_res);
BOOL parse_Vector(XMLN * p_node, onvif_Vector * p_res);
BOOL parse_Vector1D(XMLN * p_node, onvif_Vector1D * p_res);
BOOL parse_PTZSpeed(XMLN * p_node, onvif_PTZSpeed * p_res);
BOOL parse_PTZVector(XMLN * p_node, onvif_PTZVector * p_res);
BOOL parse_AnalyticsCapabilities(XMLN * p_node, onvif_AnalyticsCapabilities * p_res);
BOOL parse_DeviceCapabilities(XMLN * p_node, onvif_DevicesCapabilities * p_res);
BOOL parse_EventsCapabilities(XMLN * p_node, onvif_EventCapabilities * p_res);
BOOL parse_ImageCapabilities(XMLN * p_node, onvif_ImagingCapabilities * p_res);
BOOL parse_MediaCapabilities(XMLN * p_node, onvif_MediaCapabilities * p_res);
BOOL parse_PTZCapabilities(XMLN * p_node, onvif_PTZCapabilities * p_res);
BOOL parse_DeviceIOCapabilities(XMLN * p_node, onvif_DeviceIOCapabilities * p_res);
BOOL parse_RecordingCapabilities(XMLN * p_node, onvif_RecordingCapabilities * p_res);
BOOL parse_SearchCapabilities(XMLN * p_node, onvif_SearchCapabilities * p_res);
BOOL parse_ReplayCapabilities(XMLN * p_node, onvif_ReplayCapabilities * p_res);
BOOL parse_Version(XMLN * p_node, onvif_Version * p_res);
BOOL parse_DeviceServiceCapabilities(XMLN * p_node, onvif_DevicesCapabilities * p_res);
BOOL parse_DeviceService(XMLN * p_node, onvif_DevicesCapabilities * p_res);
BOOL parse_MediaServiceCapabilities(XMLN * p_node, onvif_MediaCapabilities * p_res);
BOOL parse_MediaService(XMLN * p_node, onvif_MediaCapabilities * p_res);
BOOL parse_Media2ServiceCapabilities(XMLN * p_node, onvif_MediaCapabilities2 * p_res);
BOOL parse_Media2Service(XMLN * p_node, onvif_MediaCapabilities2 * p_res);
BOOL parse_EventServiceCapabilities(XMLN * p_node, onvif_EventCapabilities * p_res);
BOOL parse_EventsService(XMLN * p_node, onvif_EventCapabilities * p_res);
BOOL parse_PTZServiceCapabilities(XMLN * p_node, onvif_PTZCapabilities * p_res);
BOOL parse_PTZService(XMLN * p_node, onvif_PTZCapabilities * p_res);
BOOL parse_ImagingServiceCapabilities(XMLN * p_node, onvif_ImagingCapabilities * p_res);
BOOL parse_ImagingService(XMLN * p_node, onvif_ImagingCapabilities * p_res);
BOOL parse_AnalyticsServiceCapabilities(XMLN * p_node, onvif_AnalyticsCapabilities * p_res);
BOOL parse_AnalyticsService(XMLN * p_node, onvif_AnalyticsCapabilities * p_res);
BOOL parse_VideoSourceConfiguration(XMLN * p_node, onvif_VideoSourceConfiguration * p_res);
BOOL parse_AudioSourceConfiguration(XMLN * p_node, onvif_AudioSourceConfiguration * p_res);
BOOL parse_MulticastConfiguration(XMLN * p_node, onvif_MulticastConfiguration * p_res);
BOOL parse_VideoResolution(XMLN * p_node, onvif_VideoResolution * p_res);
BOOL parse_ImagingSettings(XMLN * p_node, onvif_ImagingSettings * p_res);
BOOL parse_VideoSource(XMLN * p_node, onvif_VideoSource * p_res);
BOOL parse_AudioSource(XMLN * p_node, onvif_AudioSource * p_res);
BOOL parse_SimpleItem(XMLN * p_node, onvif_SimpleItem * p_res);
BOOL parse_ElementItem(XMLN * p_node, onvif_ElementItem * p_res);
BOOL parse_ItemList(XMLN * p_node, onvif_ItemList * p_res);
BOOL parse_Config(XMLN * p_node, onvif_Config * p_res);
BOOL parse_VideoEncoderConfiguration(XMLN * p_node, onvif_VideoEncoderConfiguration * p_res);
BOOL parse_AudioEncoderConfiguration(XMLN * p_node, onvif_AudioEncoderConfiguration * p_res);
BOOL parse_PTZConfiguration(XMLN * p_node, onvif_PTZConfiguration * p_res);
BOOL parse_AnalyticsEngineConfiguration(XMLN * p_node, onvif_AnalyticsEngineConfiguration * p_res);
BOOL parse_RuleEngineConfiguration(XMLN * p_node, onvif_RuleEngineConfiguration * p_res);
BOOL parse_VideoAnalyticsConfiguration(XMLN * p_node, onvif_VideoAnalyticsConfiguration * p_res);
BOOL parse_Profile(XMLN * p_node, ONVIF_PROFILE * p_profile);
BOOL parse_Dot11Configuration(XMLN * p_node, onvif_Dot11Configuration * p_res);
BOOL parse_NetworkInterface(XMLN * p_node, onvif_NetworkInterface * p_res);
BOOL parse_User(XMLN * p_node, onvif_User * p_res);
BOOL parse_Datetime(XMLN * p_node, onvif_DateTime * p_datetime);
BOOL parse_Dot11AvailableNetworks(XMLN * p_node, onvif_Dot11AvailableNetworks * p_res);
BOOL parse_LocationEntity(XMLN * p_node, onvif_LocationEntity * p_res);
BOOL parse_PrefixedIPAddress(XMLN * p_node, onvif_PrefixedIPAddress * p_res);
BOOL parse_IPAddressFilter(XMLN * p_node, onvif_IPAddressFilter * p_res);
BOOL parse_UserCredential(XMLN * p_node, onvif_UserCredential * p_res);
BOOL parse_StorageConfigurationData(XMLN * p_node, onvif_StorageConfigurationData * p_res);
BOOL parse_StorageConfiguration(XMLN * p_node, onvif_StorageConfiguration * p_res);
BOOL parse_RelayOutputSettings(XMLN * p_node, onvif_RelayOutputSettings * p_res);
BOOL parse_tds_GetCapabilities(XMLN * p_node, tds_GetCapabilities_RES * p_res);
BOOL parse_tds_GetServices(XMLN * p_node, tds_GetServices_RES * p_res);
BOOL parse_tds_GetServiceCapabilities(XMLN * p_node, tds_GetServiceCapabilities_RES * p_res);
BOOL parse_tds_GetDeviceInformation(XMLN * p_node, tds_GetDeviceInformation_RES * p_res);
BOOL parse_tds_GetUsers(XMLN * p_node, tds_GetUsers_RES * p_res);
BOOL parse_tds_GetRemoteUser(XMLN * p_node, tds_GetRemoteUser_RES * p_res);
BOOL parse_tds_GetNetworkInterfaces(XMLN * p_node, tds_GetNetworkInterfaces_RES * p_res);
BOOL parse_tds_SetNetworkInterfaces(XMLN * p_node, tds_SetNetworkInterfaces_RES * p_res);
BOOL parse_tds_GetNTP(XMLN * p_node, tds_GetNTP_RES * p_res);
BOOL parse_tds_GetHostname(XMLN * p_node, tds_GetHostname_RES * p_res);
BOOL parse_tds_SetHostnameFromDHCP(XMLN * p_node, tds_SetHostnameFromDHCP_RES * p_res);
BOOL parse_tds_GetDNS(XMLN * p_node, tds_GetDNS_RES * p_res);
BOOL parse_tds_GetDynamicDNS(XMLN * p_node, tds_GetDynamicDNS_RES * p_res);
BOOL parse_tds_GetNetworkProtocols(XMLN * p_node, tds_GetNetworkProtocols_RES * p_res);
BOOL parse_tds_GetDiscoveryMode(XMLN * p_node, tds_GetDiscoveryMode_RES * p_res);
BOOL parse_tds_GetNetworkDefaultGateway(XMLN * p_node, tds_GetNetworkDefaultGateway_RES * p_res);
BOOL parse_tds_GetZeroConfiguration(XMLN * p_node, tds_GetZeroConfiguration_RES * p_res);
BOOL parse_tds_GetEndpointReference(XMLN * p_node, tds_GetEndpointReference_RES * p_res);
BOOL parse_tds_SendAuxiliaryCommand(XMLN * p_node, tds_SendAuxiliaryCommand_RES * p_res);
BOOL parse_tds_GetRelayOutputs(XMLN * p_node, tds_GetRelayOutputs_RES * p_res);
BOOL parse_tds_GetSystemDateAndTime(XMLN * p_node, tds_GetSystemDateAndTime_RES * p_res);
BOOL parse_tds_GetSystemLog(XMLN * p_node, tds_GetSystemLog_RES * p_res);
BOOL parse_tds_GetScopes(XMLN * p_node, tds_GetScopes_RES * p_res);
BOOL parse_tds_StartFirmwareUpgrade(XMLN * p_node, tds_StartFirmwareUpgrade_RES * p_res);
BOOL parse_tds_GetSystemUris(XMLN * p_node, tds_GetSystemUris_RES * p_res);
BOOL parse_tds_StartSystemRestore(XMLN * p_node, tds_StartSystemRestore_RES * p_res);
BOOL parse_tds_GetWsdlUrl(XMLN * p_node, tds_GetWsdlUrl_RES * p_res);
BOOL parse_tds_GetDot11Capabilities(XMLN * p_node, tds_GetDot11Capabilities_RES * p_res);
BOOL parse_tds_GetDot11Status(XMLN * p_node, tds_GetDot11Status_RES * p_res);
BOOL parse_tds_ScanAvailableDot11Networks(XMLN * p_node, tds_ScanAvailableDot11Networks_RES * p_res);
BOOL parse_tds_GetGeoLocation(XMLN * p_node, tds_GetGeoLocation_RES * p_res);
BOOL parse_tds_GetIPAddressFilter(XMLN * p_node, tds_GetIPAddressFilter_RES * p_res);
BOOL parse_tds_GetAccessPolicy(XMLN * p_node, tds_GetAccessPolicy_RES * p_res);
BOOL parse_tds_GetStorageConfigurations(XMLN * p_node, tds_GetStorageConfigurations_RES * p_res);
BOOL parse_tds_CreateStorageConfiguration(XMLN * p_node, tds_CreateStorageConfiguration_RES * p_res);
BOOL parse_tds_GetStorageConfiguration(XMLN * p_node, tds_GetStorageConfiguration_RES * p_res);
BOOL parse_JPEGOptions(XMLN * p_node, onvif_JpegOptions * p_res);
BOOL parse_MPEG4Options(XMLN * p_node, onvif_Mpeg4Options * p_res);
BOOL parse_H264Options(XMLN * p_node, onvif_H264Options * p_res);
BOOL parse_AudioOutputConfiguration(XMLN * p_node, onvif_AudioOutputConfiguration * p_res);
BOOL parse_AudioDecoderConfiguration(XMLN * p_node, onvif_AudioDecoderConfiguration * p_res);
BOOL parse_VideoSourceMode(XMLN * p_node, onvif_VideoSourceMode * p_res);
BOOL parse_Color(XMLN * p_node, onvif_Color * p_res);
BOOL parse_ColorOptions(XMLN * p_node, onvif_ColorOptions * p_res);
BOOL parse_OSDColorOptions(XMLN * p_node, onvif_OSDColorOptions * p_res);
BOOL parse_OSDOptions(XMLN * p_node, onvif_OSDConfigurationOptions * p_res);
BOOL parse_OSDColor(XMLN * p_node, onvif_OSDColor * p_res);
BOOL parse_OSDConfiguration(XMLN * p_node, onvif_OSDConfiguration * p_res);
BOOL parse_trt_GetServiceCapabilities(XMLN * p_node, trt_GetServiceCapabilities_RES * p_res);
BOOL parse_trt_GetVideoSources(XMLN * p_node, trt_GetVideoSources_RES * p_res);
BOOL parse_trt_GetAudioSources(XMLN * p_node, trt_GetAudioSources_RES * p_res);
BOOL parse_trt_CreateProfile(XMLN * p_node, trt_CreateProfile_RES * p_res);
BOOL parse_trt_GetProfile(XMLN * p_node, trt_GetProfile_RES * p_res);
BOOL parse_trt_GetProfiles(XMLN * p_node, trt_GetProfiles_RES * p_res);
BOOL parse_trt_GetVideoSourceModes(XMLN * p_node, trt_GetVideoSourceModes_RES * p_res);
BOOL parse_trt_SetVideoSourceMode(XMLN * p_node, trt_SetVideoSourceMode_RES * p_res);
BOOL parse_trt_GetVideoSourceConfigurations(XMLN * p_node, trt_GetVideoSourceConfigurations_RES * p_res);
BOOL parse_trt_GetVideoEncoderConfigurations(XMLN * p_node, trt_GetVideoEncoderConfigurations_RES * p_res);
BOOL parse_trt_GetAudioSourceConfigurations(XMLN * p_node, trt_GetAudioSourceConfigurations_RES * p_res);
BOOL parse_trt_GetAudioEncoderConfigurations(XMLN * p_node, trt_GetAudioEncoderConfigurations_RES * p_res);
BOOL parse_trt_GetVideoSourceConfiguration(XMLN * p_node, trt_GetVideoSourceConfiguration_RES * p_res);
BOOL parse_trt_GetVideoEncoderConfiguration(XMLN * p_node, trt_GetVideoEncoderConfiguration_RES * p_res);
BOOL parse_trt_GetAudioSourceConfiguration(XMLN * p_node, trt_GetAudioSourceConfiguration_RES * p_res);
BOOL parse_trt_GetAudioEncoderConfiguration(XMLN * p_node, trt_GetAudioEncoderConfiguration_RES * p_res);
BOOL parse_trt_GetVideoSourceConfigurationOptions(XMLN * p_node, trt_GetVideoSourceConfigurationOptions_RES * p_res);
BOOL parse_trt_GetVideoEncoderConfigurationOptions(XMLN * p_node, trt_GetVideoEncoderConfigurationOptions_RES * p_res);
BOOL parse_trt_GetAudioEncoderConfigurationOptions(XMLN * p_node, trt_GetAudioEncoderConfigurationOptions_RES * p_res);
BOOL parse_trt_GetStreamUri(XMLN * p_node, trt_GetStreamUri_RES * p_res);
BOOL parse_trt_GetSnapshotUri(XMLN * p_node, trt_GetSnapshotUri_RES * p_res);
BOOL parse_trt_GetGuaranteedNumberOfVideoEncoderInstances(XMLN * p_node, trt_GetGuaranteedNumberOfVideoEncoderInstances_RES * p_res);
BOOL parse_trt_GetAudioOutputs(XMLN * p_node, trt_GetAudioOutputs_RES * p_res);
BOOL parse_trt_GetAudioOutputConfigurations(XMLN * p_node, trt_GetAudioOutputConfigurations_RES * p_res);
BOOL parse_trt_GetAudioOutputConfiguration(XMLN * p_node, trt_GetAudioOutputConfiguration_RES * p_res);
BOOL parse_trt_GetAudioOutputConfigurationOptions(XMLN * p_node, trt_GetAudioOutputConfigurationOptions_RES * p_res);
BOOL parse_trt_GetAudioDecoderConfigurations(XMLN * p_node, trt_GetAudioDecoderConfigurations_RES * p_res);
BOOL parse_trt_GetAudioDecoderConfiguration(XMLN * p_node, trt_GetAudioDecoderConfiguration_RES * p_res);
BOOL parse_trt_GetAudioDecoderConfigurationOptions(XMLN * p_node, trt_GetAudioDecoderConfigurationOptions_RES * p_res);
BOOL parse_trt_GetOSDs(XMLN * p_node, trt_GetOSDs_RES * p_res);
BOOL parse_trt_GetOSD(XMLN * p_node, trt_GetOSD_RES * p_res);
BOOL parse_trt_GetOSDOptions(XMLN * p_node, trt_GetOSDOptions_RES * p_res);
BOOL parse_trt_CreateOSD(XMLN * p_node, trt_CreateOSD_RES * p_res);
BOOL parse_trt_GetVideoAnalyticsConfigurations(XMLN * p_node, trt_GetVideoAnalyticsConfigurations_RES * p_res);
BOOL parse_trt_GetVideoAnalyticsConfiguration(XMLN * p_node, trt_GetVideoAnalyticsConfiguration_RES * p_res);
BOOL parse_trt_GetMetadataConfigurations(XMLN * p_node, trt_GetMetadataConfigurations_RES * p_res);
BOOL parse_trt_GetMetadataConfiguration(XMLN * p_node, trt_GetMetadataConfiguration_RES * p_res);
BOOL parse_trt_GetMetadataConfigurationOptions(XMLN * p_node, trt_GetMetadataConfigurationOptions_RES * p_res);
BOOL parse_trt_GetCompatibleVideoEncoderConfigurations(XMLN * p_node, trt_GetCompatibleVideoEncoderConfigurations_RES * p_res);
BOOL parse_trt_GetCompatibleAudioEncoderConfigurations(XMLN * p_node, trt_GetCompatibleAudioEncoderConfigurations_RES * p_res);
BOOL parse_trt_GetCompatibleVideoAnalyticsConfigurations(XMLN * p_node, trt_GetCompatibleVideoAnalyticsConfigurations_RES * p_res);
BOOL parse_trt_GetCompatibleMetadataConfigurations(XMLN * p_node, trt_GetCompatibleMetadataConfigurations_RES * p_res);
BOOL parse_Space2DDescription(XMLN * p_node, onvif_Space2DDescription * p_res);
BOOL parse_Space1DDescription(XMLN * p_node, onvif_Space1DDescription * p_res);
BOOL parse_PTZNode(XMLN * p_node, onvif_PTZNode * p_res);
BOOL parse_Preset(XMLN * p_node, onvif_PTZPreset * p_res);
BOOL parse_PTZPresetTourSpot(XMLN * p_node, onvif_PTZPresetTourSpot * p_res);
BOOL parse_PTZPresetTourStatus(XMLN * p_node, onvif_PTZPresetTourStatus * p_res);
BOOL parse_PTZPresetTourStartingCondition(XMLN * p_node, onvif_PTZPresetTourStartingCondition * p_res);
BOOL parse_PresetTour(XMLN * p_node, onvif_PresetTour * p_res);
BOOL parse_DurationRange(XMLN * p_node, onvif_DurationRange * p_res);
BOOL parse_ptz_GetServiceCapabilities(XMLN * p_node, ptz_GetServiceCapabilities_RES * p_res);
BOOL parse_ptz_GetNodes(XMLN * p_node, ptz_GetNodes_RES * p_res);
BOOL parse_ptz_GetNode(XMLN * p_node, ptz_GetNode_RES * p_res);
BOOL parse_ptz_GetPresets(XMLN * p_node, ptz_GetPresets_RES * p_res);
BOOL parse_ptz_SetPreset(XMLN * p_node, ptz_SetPreset_RES * p_res);
BOOL parse_ptz_GetStatus(XMLN * p_node, ptz_GetStatus_RES * p_res);
BOOL parse_ptz_GetConfigurations(XMLN * p_node, ptz_GetConfigurations_RES * p_res);
BOOL parse_ptz_GetConfiguration(XMLN * p_node, ptz_GetConfiguration_RES * p_res);
BOOL parse_ptz_GetConfigurationOptions(XMLN * p_node, ptz_GetConfigurationOptions_RES * p_res);
BOOL parse_ptz_GetPresetTours(XMLN * p_node, ptz_GetPresetTours_RES * p_res);
BOOL parse_ptz_GetPresetTour(XMLN * p_node, ptz_GetPresetTour_RES * p_res);
BOOL parse_ptz_GetPresetTourOptions(XMLN * p_node, ptz_GetPresetTourOptions_RES * p_res);
BOOL parse_ptz_CreatePresetTour(XMLN * p_node, ptz_CreatePresetTour_RES * p_res);
BOOL parse_ptz_SendAuxiliaryCommand(XMLN * p_node, ptz_SendAuxiliaryCommand_RES * p_res);
BOOL parse_NotificationMessage(XMLN * p_node, onvif_NotificationMessage * p_res);
BOOL parse_NotifyMessage(XMLN * p_node, NotificationMessageList ** p_res);
BOOL parse_tev_GetServiceCapabilities(XMLN * p_node, tev_GetServiceCapabilities_RES * p_res);
BOOL parse_tev_GetEventProperties(XMLN * p_node, tev_GetEventProperties_RES * p_res);
BOOL parse_tev_Subscribe(XMLN * p_node, tev_Subscribe_RES * p_res);
BOOL parse_tev_CreatePullPointSubscription(XMLN * p_node, tev_CreatePullPointSubscription_RES * p_res);
BOOL parse_tev_PullMessages(XMLN * p_node, tev_PullMessages_RES * p_res);
BOOL parse_tev_GetMessages(XMLN * p_node, tev_GetMessages_RES * p_res);
BOOL parse_ImagingPreset(XMLN * p_node, onvif_ImagingPreset * p_res);
BOOL parse_img_GetServiceCapabilities(XMLN * p_node, img_GetServiceCapabilities_RES * p_res);
BOOL parse_img_GetImagingSettings(XMLN * p_node, img_GetImagingSettings_RES * p_res);
BOOL parse_img_GetOptions(XMLN * p_node, img_GetOptions_RES * p_res);
BOOL parse_img_GetStatus(XMLN * p_node, img_GetStatus_RES * p_res);
BOOL parse_img_GetMoveOptions(XMLN * p_node, img_GetMoveOptions_RES * p_res);
BOOL parse_img_GetPresets(XMLN * p_node, img_GetPresets_RES * p_res);
BOOL parse_img_GetCurrentPreset(XMLN * p_node, img_GetCurrentPreset_RES * p_res);
int parse_SimpleItemDescriptions(XMLN * p_node, const char * name, SimpleItemDescriptionList * p_res);
BOOL parse_ItemListDescription(XMLN * p_node, onvif_ItemListDescription * p_res);
BOOL parse_ConfigDescription_Messages(XMLN * p_node, onvif_ConfigDescription_Messages * p_res);
BOOL parse_RuleDescription(XMLN * p_node, onvif_ConfigDescription * p_res);
BOOL parse_ConfigDescription(XMLN * p_node, onvif_ConfigDescription * p_res);
BOOL parse_ConfigOptions(XMLN * p_node, onvif_ConfigOptions * p_res);
BOOL parse_AnalyticsModuleConfigOptions(XMLN * p_node, onvif_AnalyticsModuleConfigOptions * p_res);
BOOL parse_tan_GetServiceCapabilities(XMLN * p_node, tan_GetServiceCapabilities_RES * p_res);
BOOL parse_tan_GetSupportedRules(XMLN * p_node, tan_GetSupportedRules_RES * p_res);
BOOL parse_tan_GetRules(XMLN * p_node, tan_GetRules_RES * p_res);
BOOL parse_tan_GetAnalyticsModules(XMLN * p_node, tan_GetAnalyticsModules_RES * p_res);
BOOL parse_tan_GetSupportedAnalyticsModules(XMLN * p_node, tan_GetSupportedAnalyticsModules_RES * p_res);
BOOL parse_tan_GetRuleOptions(XMLN * p_node, tan_GetRuleOptions_RES * p_res);
BOOL parse_tan_GetAnalyticsModuleOptions(XMLN * p_node, tan_GetAnalyticsModuleOptions_RES * p_res);
BOOL parse_tan_GetSupportedMetadata(XMLN * p_node, tan_GetSupportedMetadata_RES * p_res);
BOOL parse_VideoEncoder2Configuration(XMLN * p_node, onvif_VideoEncoder2Configuration * p_res);
BOOL parse_VideoEncoder2ConfigurationOptions(XMLN * p_node, onvif_VideoEncoder2ConfigurationOptions * p_res);
BOOL parse_MetadataConfiguration(XMLN * p_node, onvif_MetadataConfiguration * p_res);
BOOL parse_AudioEncoder2Configuration(XMLN * p_node, onvif_AudioEncoder2Configuration * p_res);
BOOL parse_AudioEncoder2ConfigurationOptions(XMLN * p_node, onvif_AudioEncoder2ConfigurationOptions * p_res);
BOOL parse_MediaProfile(XMLN * p_node, onvif_MediaProfile * p_res);
BOOL parse_Polygon(XMLN * p_node, onvif_Polygon * p_res);
BOOL parse_Mask(XMLN * p_node, onvif_Mask * p_res);
BOOL parse_MaskOptions(XMLN * p_node, onvif_MaskOptions * p_res);
BOOL parse_tr2_GetServiceCapabilities(XMLN * p_node, tr2_GetServiceCapabilities_RES * p_res);
BOOL parse_tr2_GetVideoEncoderConfigurations(XMLN * p_node, tr2_GetVideoEncoderConfigurations_RES * p_res);
BOOL parse_tr2_GetVideoEncoderConfigurationOptions(XMLN * p_node, tr2_GetVideoEncoderConfigurationOptions_RES * p_res);
BOOL parse_tr2_GetProfiles(XMLN * p_node, tr2_GetProfiles_RES * p_res);
BOOL parse_tr2_CreateProfile(XMLN * p_node, tr2_CreateProfile_RES * p_res);
BOOL parse_tr2_GetStreamUri(XMLN * p_node, tr2_GetStreamUri_RES * p_res);
BOOL parse_tr2_GetVideoSourceConfigurations(XMLN * p_node, tr2_GetVideoSourceConfigurations_RES * p_res);
BOOL parse_tr2_GetMetadataConfigurations(XMLN * p_node, tr2_GetMetadataConfigurations_RES * p_res);
BOOL parse_tr2_GetMetadataConfigurationOptions(XMLN * p_node, tr2_GetMetadataConfigurationOptions_RES * p_res);
BOOL parse_tr2_GetAudioEncoderConfigurations(XMLN * p_node, tr2_GetAudioEncoderConfigurations_RES * p_res);
BOOL parse_tr2_GetAudioSourceConfigurations(XMLN * p_node, tr2_GetAudioSourceConfigurations_RES * p_res);
BOOL parse_tr2_GetAudioEncoderConfigurationOptions(XMLN * p_node, tr2_GetAudioEncoderConfigurationOptions_RES * p_res);
BOOL parse_tr2_GetVideoEncoderInstances(XMLN * p_node, tr2_GetVideoEncoderInstances_RES * p_res);
BOOL parse_tr2_GetAudioOutputConfigurations(XMLN * p_node, tr2_GetAudioOutputConfigurations_RES * p_res);
BOOL parse_tr2_GetAudioOutputConfigurationOptions(XMLN * p_node, tr2_GetAudioOutputConfigurationOptions_RES * p_res);
BOOL parse_tr2_GetAudioDecoderConfigurations(XMLN * p_node, tr2_GetAudioDecoderConfigurations_RES * p_res);
BOOL parse_tr2_GetAudioDecoderConfigurationOptions(XMLN * p_node, tr2_GetAudioDecoderConfigurationOptions_RES * p_res);
BOOL parse_tr2_GetSnapshotUri(XMLN * p_node, tr2_GetSnapshotUri_RES * p_res);
BOOL parse_tr2_GetVideoSourceModes(XMLN * p_node, tr2_GetVideoSourceModes_RES * p_res);
BOOL parse_tr2_SetVideoSourceMode(XMLN * p_node, tr2_SetVideoSourceMode_RES * p_res);
BOOL parse_tr2_CreateOSD(XMLN * p_node, tr2_CreateOSD_RES * p_res);
BOOL parse_tr2_GetOSDs(XMLN * p_node, tr2_GetOSDs_RES * p_res);
BOOL parse_tr2_GetOSDOptions(XMLN * p_node, tr2_GetOSDOptions_RES * p_res);
BOOL parse_tr2_GetAnalyticsConfigurations(XMLN * p_node, tr2_GetAnalyticsConfigurations_RES * p_res);
BOOL parse_tr2_GetMasks(XMLN * p_node, tr2_GetMasks_RES * p_res);
BOOL parse_tr2_CreateMask(XMLN * p_node, tr2_CreateMask_RES * p_res);
BOOL parse_tr2_GetMaskOptions(XMLN * p_node, tr2_GetMaskOptions_RES * p_res);
BOOL parse_DeviceIOServiceCapabilities(XMLN * p_node, onvif_DeviceIOCapabilities * p_res);
BOOL parse_DeviceIOService(XMLN * p_node, onvif_DeviceIOCapabilities * p_res);
BOOL parse_RelayOutput(XMLN * p_node, onvif_RelayOutput * p_res);
BOOL parse_RelayOutputOptions(XMLN * p_node, onvif_RelayOutputOptions * p_res);
BOOL parse_DigitalInput(XMLN * p_node, onvif_DigitalInput * p_res);
BOOL parse_tmd_GetServiceCapabilities(XMLN * p_node, tmd_GetServiceCapabilities_RES * p_res);
BOOL parse_tmd_GetRelayOutputs(XMLN * p_node, tmd_GetRelayOutputs_RES * p_res);
BOOL parse_tmd_GetRelayOutputOptions(XMLN * p_node, tmd_GetRelayOutputOptions_RES * p_res);
BOOL parse_tmd_GetDigitalInputs(XMLN * p_node, tmd_GetDigitalInputs_RES * p_res);
BOOL parse_tmd_GetDigitalInputConfigurationOptions(XMLN * p_node, tmd_GetDigitalInputConfigurationOptions_RES * p_res);
BOOL parse_RecordingServiceCapabilities(XMLN * p_node, onvif_RecordingCapabilities * p_res);
BOOL parse_RecordingService(XMLN * p_node, onvif_RecordingCapabilities * p_res);
BOOL parse_SearchServiceCapabilities(XMLN * p_node, onvif_SearchCapabilities * p_res);
BOOL parse_SearchService(XMLN * p_node, onvif_SearchCapabilities * p_res);
BOOL parse_ReplayServiceCapabilities(XMLN * p_node, onvif_ReplayCapabilities * p_res);
BOOL parse_ReplayService(XMLN * p_node, onvif_ReplayCapabilities * p_res);
BOOL parse_trc_GetServiceCapabilities(XMLN * p_node, trc_GetServiceCapabilities_RES * p_res);
BOOL parse_trc_CreateRecording(XMLN * p_node, trc_CreateRecording_RES * p_res);
BOOL parse_trc_GetRecordings(XMLN * p_node, trc_GetRecordings_RES * p_res);
BOOL parse_trc_GetRecordingConfiguration(XMLN * p_node, trc_GetRecordingConfiguration_RES * p_res);
BOOL parse_trc_GetRecordingOptions(XMLN * p_node, trc_GetRecordingOptions_RES * p_res);
BOOL parse_trc_CreateTrack(XMLN * p_node, trc_CreateTrack_RES * p_res);
BOOL parse_trc_GetTrackConfiguration(XMLN * p_node, trc_GetTrackConfiguration_RES * p_res);
BOOL parse_trc_CreateRecordingJob(XMLN * p_node, trc_CreateRecordingJob_RES * p_res);
BOOL parse_trc_GetRecordingJobs(XMLN * p_node, trc_GetRecordingJobs_RES * p_res);
BOOL parse_trc_SetRecordingJobConfiguration(XMLN * p_node, trc_SetRecordingJobConfiguration_RES * p_res);
BOOL parse_trc_GetRecordingJobConfiguration(XMLN * p_node, trc_GetRecordingJobConfiguration_RES * p_res);
BOOL parse_trc_GetRecordingJobState(XMLN * p_node, trc_GetRecordingJobState_RES * p_res);
BOOL parse_trc_ExportRecordedData(XMLN * p_node, trc_ExportRecordedData_RES * p_res);
BOOL parse_trc_StopExportRecordedData(XMLN * p_node, trc_StopExportRecordedData_RES * p_res);
BOOL parse_trc_GetExportRecordedDataState(XMLN * p_node, trc_GetExportRecordedDataState_RES * p_res);
BOOL parse_trp_GetServiceCapabilities(XMLN * p_node, trp_GetServiceCapabilities_RES * p_res);
BOOL parse_trp_GetReplayUri(XMLN * p_node, trp_GetReplayUri_RES * p_res);
BOOL parse_trp_GetReplayConfiguration(XMLN * p_node, trp_GetReplayConfiguration_RES * p_res);
BOOL parse_tse_GetServiceCapabilities(XMLN * p_node, tse_GetServiceCapabilities_RES * p_res);
BOOL parse_tse_GetRecordingSummary(XMLN * p_node, tse_GetRecordingSummary_RES * p_res);
BOOL parse_tse_GetRecordingInformation(XMLN * p_node, tse_GetRecordingInformation_RES * p_res);
BOOL parse_tse_GetMediaAttributes(XMLN * p_node, tse_GetMediaAttributes_RES * p_res);
BOOL parse_tse_FindRecordings(XMLN * p_node, tse_FindRecordings_RES * p_res);
BOOL parse_tse_GetRecordingSearchResults(XMLN * p_node, tse_GetRecordingSearchResults_RES * p_res);
BOOL parse_tse_FindEvents(XMLN * p_node, tse_FindEvents_RES * p_res);
BOOL parse_tse_GetEventSearchResults(XMLN * p_node, tse_GetEventSearchResults_RES * p_res);
BOOL parse_tse_FindMetadata(XMLN * p_node, tse_FindMetadata_RES * p_res);
BOOL parse_tse_GetMetadataSearchResults(XMLN * p_node, tse_GetMetadataSearchResults_RES * p_res);
BOOL parse_tse_FindPTZPosition(XMLN * p_node, tse_FindPTZPosition_RES * p_res);
BOOL parse_tse_GetPTZPositionSearchResults(XMLN * p_node, tse_GetPTZPositionSearchResults_RES * p_res);
BOOL parse_tse_GetSearchState(XMLN * p_node, tse_GetSearchState_RES * p_res);
BOOL parse_tse_EndSearch(XMLN * p_node, tse_EndSearch_RES * p_res);
BOOL parse_AccessControlServiceCapabilities(XMLN * p_node, onvif_AccessControlCapabilities * p_res);
BOOL parse_AccessControlService(XMLN * p_node, onvif_AccessControlCapabilities * p_res);
BOOL parse_DoorControlServiceCapabilities(XMLN * p_node, onvif_DoorControlCapabilities * p_res);
BOOL parse_DoorControlService(XMLN * p_node, onvif_DoorControlCapabilities * p_res);
BOOL parse_tac_GetServiceCapabilities(XMLN * p_node, tac_GetServiceCapabilities_RES * p_res);
BOOL parse_tac_GetAccessPointInfoList(XMLN * p_node, tac_GetAccessPointInfoList_RES * p_res);
BOOL parse_tac_GetAccessPointInfo(XMLN * p_node, tac_GetAccessPointInfo_RES * p_res);
BOOL parse_tac_GetAccessPointList(XMLN * p_node, tac_GetAccessPointList_RES * p_res);
BOOL parse_tac_GetAccessPoints(XMLN * p_node, tac_GetAccessPoints_RES * p_res);
BOOL parse_tac_CreateAccessPoint(XMLN * p_node, tac_CreateAccessPoint_RES * p_res);
BOOL parse_tac_GetAreaInfoList(XMLN * p_node, tac_GetAreaInfoList_RES * p_res);
BOOL parse_tac_GetAreaInfo(XMLN * p_node, tac_GetAreaInfo_RES * p_res);
BOOL parse_tac_GetAreaList(XMLN * p_node, tac_GetAreaList_RES * p_res);
BOOL parse_tac_GetAreas(XMLN * p_node, tac_GetAreas_RES * p_res);
BOOL parse_tac_CreateArea(XMLN * p_node, tac_CreateArea_RES * p_res);
BOOL parse_tac_GetAccessPointState(XMLN * p_node, tac_GetAccessPointState_RES * p_res);
BOOL parse_tdc_GetServiceCapabilities(XMLN * p_node, tdc_GetServiceCapabilities_RES * p_res);
BOOL parse_tdc_GetDoorInfoList(XMLN * p_node, tdc_GetDoorInfoList_RES * p_res);
BOOL parse_tdc_GetDoorInfo(XMLN * p_node, tdc_GetDoorInfo_RES * p_res);
BOOL parse_tdc_GetDoorState(XMLN * p_node, tdc_GetDoorState_RES * p_res);
BOOL parse_tdc_GetDoors(XMLN * p_node, tdc_GetDoors_RES * p_res);
BOOL parse_tdc_GetDoorList(XMLN * p_node, tdc_GetDoorList_RES * p_res);
BOOL parse_tdc_CreateDoor(XMLN * p_node, tdc_CreateDoor_RES * p_res);
BOOL parse_ThermalServiceCapabilities(XMLN * p_node, onvif_ThermalCapabilities * p_res);
BOOL parse_ThermalService(XMLN * p_node, onvif_ThermalCapabilities * p_res);
BOOL parse_tth_GetServiceCapabilities(XMLN * p_node, tth_GetServiceCapabilities_RES * p_res);
BOOL parse_tth_GetConfigurations(XMLN * p_node, tth_GetConfigurations_RES * p_req);
BOOL parse_tth_GetConfiguration(XMLN * p_node, tth_GetConfiguration_RES * p_req);
BOOL parse_tth_GetConfigurationOptions(XMLN * p_node, tth_GetConfigurationOptions_RES * p_req);
BOOL parse_tth_GetRadiometryConfiguration(XMLN * p_node, tth_GetRadiometryConfiguration_RES * p_req);
BOOL parse_tth_GetRadiometryConfigurationOptions(XMLN * p_node, tth_GetRadiometryConfigurationOptions_RES * p_req);
BOOL parse_CredentialServiceCapabilities(XMLN * p_node, onvif_CredentialCapabilities * p_res);
BOOL parse_CredentialService(XMLN * p_node, onvif_CredentialCapabilities * p_res);
BOOL parse_tcr_GetServiceCapabilities(XMLN * p_node, tcr_GetServiceCapabilities_RES * p_res);
BOOL parse_tcr_GetCredentialInfo(XMLN * p_node, tcr_GetCredentialInfo_RES * p_res);
BOOL parse_tcr_GetCredentialInfoList(XMLN * p_node, tcr_GetCredentialInfoList_RES * p_res);
BOOL parse_tcr_GetCredentials(XMLN * p_node, tcr_GetCredentials_RES * p_res);
BOOL parse_tcr_GetCredentialList(XMLN * p_node, tcr_GetCredentialList_RES * p_res);
BOOL parse_tcr_CreateCredential(XMLN * p_node, tcr_CreateCredential_RES * p_res);
BOOL parse_tcr_GetCredentialState(XMLN * p_node, tcr_GetCredentialState_RES * p_res);
BOOL parse_tcr_GetSupportedFormatTypes(XMLN * p_node, tcr_GetSupportedFormatTypes_RES * p_res);
BOOL parse_tcr_GetCredentialIdentifiers(XMLN * p_node, tcr_GetCredentialIdentifiers_RES * p_res);
BOOL parse_tcr_GetCredentialAccessProfiles(XMLN * p_node, tcr_GetCredentialAccessProfiles_RES * p_res);
BOOL parse_AccessRulesServiceCapabilities(XMLN * p_node, onvif_AccessRulesCapabilities * p_res);
BOOL parse_AccessRulesService(XMLN * p_node, onvif_AccessRulesCapabilities * p_res);
BOOL parse_tar_GetServiceCapabilities(XMLN * p_node, tar_GetServiceCapabilities_RES * p_res);
BOOL parse_tar_GetAccessProfileInfo(XMLN * p_node, tar_GetAccessProfileInfo_RES * p_res);
BOOL parse_tar_GetAccessProfileInfoList(XMLN * p_node, tar_GetAccessProfileInfoList_RES * p_res);
BOOL parse_tar_GetAccessProfiles(XMLN * p_node, tar_GetAccessProfiles_RES * p_res);
BOOL parse_tar_GetAccessProfileList(XMLN * p_node, tar_GetAccessProfileList_RES * p_res);
BOOL parse_tar_CreateAccessProfile(XMLN * p_node, tar_CreateAccessProfile_RES * p_res);
BOOL parse_ScheduleServiceCapabilities(XMLN * p_node, onvif_ScheduleCapabilities * p_res);
BOOL parse_ScheduleService(XMLN * p_node, onvif_ScheduleCapabilities * p_res);
BOOL parse_tsc_GetServiceCapabilities(XMLN * p_node, tsc_GetServiceCapabilities_RES * p_res);
BOOL parse_tsc_GetScheduleInfo(XMLN * p_node, tsc_GetScheduleInfo_RES * p_res);
BOOL parse_tsc_GetScheduleInfoList(XMLN * p_node, tsc_GetScheduleInfoList_RES * p_res);
BOOL parse_tsc_GetSchedules(XMLN * p_node, tsc_GetSchedules_RES * p_res);
BOOL parse_tsc_GetScheduleList(XMLN * p_node, tsc_GetScheduleList_RES * p_res);
BOOL parse_tsc_CreateSchedule(XMLN * p_node, tsc_CreateSchedule_RES * p_res);
BOOL parse_tsc_GetSpecialDayGroupInfo(XMLN * p_node, tsc_GetSpecialDayGroupInfo_RES * p_res);
BOOL parse_tsc_GetSpecialDayGroupInfoList(XMLN * p_node, tsc_GetSpecialDayGroupInfoList_RES * p_res);
BOOL parse_tsc_GetSpecialDayGroups(XMLN * p_node, tsc_GetSpecialDayGroups_RES * p_res);
BOOL parse_tsc_GetSpecialDayGroupList(XMLN * p_node, tsc_GetSpecialDayGroupList_RES * p_res);
BOOL parse_tsc_CreateSpecialDayGroup(XMLN * p_node, tsc_CreateSpecialDayGroup_RES * p_res);
BOOL parse_tsc_GetScheduleState(XMLN * p_node, tsc_GetScheduleState_RES * p_res);
BOOL parse_ReceiverServiceCapabilities(XMLN * p_node, onvif_ReceiverCapabilities * p_res);
BOOL parse_ReceiverService(XMLN * p_node, onvif_ReceiverCapabilities * p_res);
BOOL parse_trv_GetServiceCapabilities(XMLN * p_node, trv_GetServiceCapabilities_RES * p_res);
BOOL parse_trv_GetReceivers(XMLN * p_node, trv_GetReceivers_RES * p_res);
BOOL parse_trv_GetReceiver(XMLN * p_node, trv_GetReceiver_RES * p_res);
BOOL parse_trv_CreateReceiver(XMLN * p_node, trv_CreateReceiver_RES * p_res);
BOOL parse_trv_GetReceiverState(XMLN * p_node, trv_GetReceiverState_RES * p_res);
BOOL parse_ProvisioningServiceCapabilities(XMLN * p_node, onvif_ProvisioningCapabilities * p_res);
BOOL parse_ProvisioningService(XMLN * p_node, onvif_ProvisioningCapabilities * p_res);
BOOL parse_tpv_GetServiceCapabilities(XMLN * p_node, tpv_GetServiceCapabilities_RES * p_res);
BOOL parse_tpv_GetUsage(XMLN * p_node, tpv_GetUsage_RES * p_res);
#ifdef __cplusplus
}
#endif
#endif