You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
244 lines
10 KiB
C
244 lines
10 KiB
C
////////////////////////////////////////////////////////////////////////////////
|
|
// File: TcAdsAPI.h
|
|
// Description: Prototypes and Definitions for non C++ Applications
|
|
// Author: RamonB
|
|
// Created: Wed Nov 6 10:00:00 1996
|
|
//
|
|
//
|
|
// BECKHOFF-Industrieelektronik-GmbH
|
|
//
|
|
// Modifications:
|
|
// KlausBue 11/1999
|
|
// Register Callback for Router notifications
|
|
//
|
|
// ChristophC 16/07/2001
|
|
// Double definition of router callback function removed
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
#ifndef __ADSAPI_H__
|
|
#define __ADSAPI_H__
|
|
|
|
#define ADSAPIERR_NOERROR 0x0000
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsGetDllVersion( void );
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsPortOpen( void );
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsPortClose( void );
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsGetLocalAddress( AmsAddr* pAddr );
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncWriteReq( AmsAddr* pServerAddr, // Ams address of ADS server
|
|
unsigned long indexGroup, // index group in ADS server interface
|
|
unsigned long indexOffset, // index offset in ADS server interface
|
|
unsigned long length, // count of bytes to write
|
|
void* pData // pointer to the client buffer
|
|
);
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncReadReq( AmsAddr* pAddr, // Ams address of ADS server
|
|
unsigned long indexGroup, // index group in ADS server interface
|
|
unsigned long indexOffset, // index offset in ADS server interface
|
|
unsigned long length, // count of bytes to read
|
|
void* pData // pointer to the client buffer
|
|
);
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncReadReqEx( AmsAddr* pAddr, // Ams address of ADS server
|
|
unsigned long indexGroup, // index group in ADS server interface
|
|
unsigned long indexOffset, // index offset in ADS server interface
|
|
unsigned long length, // count of bytes to read
|
|
void* pData, // pointer to the client buffer
|
|
unsigned long* pcbReturn // count of bytes read
|
|
);
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncReadWriteReq( AmsAddr* pAddr, // Ams address of ADS server
|
|
unsigned long indexGroup, // index group in ADS server interface
|
|
unsigned long indexOffset, // index offset in ADS server interface
|
|
unsigned long cbReadLength, // count of bytes to read
|
|
void* pReadData, // pointer to the client buffer
|
|
unsigned long cbWriteLength, // count of bytes to write
|
|
void* pWriteData // pointer to the client buffer
|
|
);
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncReadWriteReqEx( AmsAddr* pAddr, // Ams address of ADS server
|
|
unsigned long indexGroup, // index group in ADS server interface
|
|
unsigned long indexOffset, // index offset in ADS server interface
|
|
unsigned long cbReadLength, // count of bytes to read
|
|
void* pReadData, // pointer to the client buffer
|
|
unsigned long cbWriteLength, // count of bytes to write
|
|
void* pWriteData, // pointer to the client buffer
|
|
unsigned long* pcbReturn // count of bytes read
|
|
);
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncReadDeviceInfoReq( AmsAddr* pAddr, // Ams address of ADS server
|
|
char* pDevName,// fixed length string (16 Byte)
|
|
AdsVersion* pVersion // client buffer to store server version
|
|
);
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncWriteControlReq( AmsAddr* pAddr, // Ams address of ADS server
|
|
unsigned short adsState, // index group in ADS server interface
|
|
unsigned short deviceState,// index offset in ADS server interface
|
|
unsigned long length, // count of bytes to write
|
|
void* pData // pointer to the client buffer
|
|
);
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncReadStateReq( AmsAddr* pAddr, // Ams address of ADS server
|
|
unsigned short* pAdsState, // pointer to client buffer
|
|
unsigned short* pDeviceState// pointer to the client buffer
|
|
);
|
|
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncAddDeviceNotificationReq( AmsAddr* pAddr, // Ams address of ADS server
|
|
unsigned long indexGroup, // index group in ADS server interface
|
|
unsigned long indexOffset,// index offset in ADS server interface
|
|
AdsNotificationAttrib* pNoteAttrib, // attributes of notification request
|
|
PAdsNotificationFuncEx pNoteFunc, // address of notification callback
|
|
unsigned long hUser, // user handle
|
|
unsigned long *pNotification // pointer to notification handle (return value)
|
|
);
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncDelDeviceNotificationReq( AmsAddr* pAddr,// Ams address of ADS server
|
|
unsigned long hNotification // notification handle
|
|
);
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncSetTimeout( long nMs ); // Set timeout in ms
|
|
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsGetLastError( void );
|
|
|
|
|
|
/// register callback
|
|
__declspec( dllexport )
|
|
long __stdcall AdsAmsRegisterRouterNotification (PAmsRouterNotificationFuncEx pNoteFunc );
|
|
|
|
/// unregister callback
|
|
__declspec( dllexport )
|
|
long __stdcall AdsAmsUnRegisterRouterNotification ();
|
|
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncGetTimeout(long *pnMs ); // client buffer to store timeout
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsAmsPortEnabled(BOOL *pbEnabled);
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// new Ads functions for multithreading applications
|
|
__declspec( dllexport )
|
|
long __stdcall AdsPortOpenEx( );
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsPortCloseEx( long port );
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsGetLocalAddressEx(long port, AmsAddr* pAddr );
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncWriteReqEx( long port, // Ams port of ADS client
|
|
AmsAddr* pServerAddr, // Ams address of ADS server
|
|
unsigned long indexGroup, // index group in ADS server interface
|
|
unsigned long indexOffset, // index offset in ADS server interface
|
|
unsigned long length, // count of bytes to write
|
|
void* pData // pointer to the client buffer
|
|
);
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncReadReqEx2( long port, // Ams port of ADS client
|
|
AmsAddr* pServerAddr, // Ams address of ADS server
|
|
unsigned long indexGroup, // index group in ADS server interface
|
|
unsigned long indexOffset, // index offset in ADS server interface
|
|
unsigned long length, // count of bytes to read
|
|
void* pData, // pointer to the client buffer
|
|
unsigned long* pcbReturn // count of bytes read
|
|
);
|
|
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncReadWriteReqEx2( long port, // Ams port of ADS client
|
|
AmsAddr* pServerAddr, // Ams address of ADS server
|
|
unsigned long indexGroup, // index group in ADS server interface
|
|
unsigned long indexOffset, // index offset in ADS server interface
|
|
unsigned long cbReadLength, // count of bytes to read
|
|
void* pReadData, // pointer to the client buffer
|
|
unsigned long cbWriteLength, // count of bytes to write
|
|
void* pWriteData, // pointer to the client buffer
|
|
unsigned long* pcbReturn // count of bytes read
|
|
);
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncReadDeviceInfoReqEx( long port, // Ams port of ADS client
|
|
AmsAddr* pServerAddr, // Ams address of ADS server
|
|
char* pDevName, // fixed length string (16 Byte)
|
|
AdsVersion* pVersion // client buffer to store server version
|
|
);
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncWriteControlReqEx( long port, // Ams port of ADS client
|
|
AmsAddr* pServerAddr, // Ams address of ADS server
|
|
unsigned short adsState, // index group in ADS server interface
|
|
unsigned short deviceState, // index offset in ADS server interface
|
|
unsigned long length, // count of bytes to write
|
|
void* pData // pointer to the client buffer
|
|
);
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncReadStateReqEx( long port, // Ams port of ADS client
|
|
AmsAddr* pServerAddr, // Ams address of ADS server
|
|
unsigned short* pAdsState, // pointer to client buffer
|
|
unsigned short* pDeviceState // pointer to the client buffer
|
|
);
|
|
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncAddDeviceNotificationReqEx( long port, // Ams port of ADS client
|
|
AmsAddr* pServerAddr, // Ams address of ADS ser
|
|
unsigned long indexGroup, // index group in ADS server interface
|
|
unsigned long indexOffset, // index offset in ADS server interface
|
|
AdsNotificationAttrib* pNoteAttrib, // attributes of notification request
|
|
PAdsNotificationFuncEx pNoteFunc, // address of notification callback
|
|
unsigned long hUser, // user handle
|
|
unsigned long *pNotification // pointer to notification handle (return value)
|
|
);
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncDelDeviceNotificationReqEx( long port, // Ams port of ADS client
|
|
AmsAddr* pServerAddr, // Ams address of ADS ser
|
|
unsigned long hNotification // notification handle
|
|
);
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncSetTimeoutEx(long port, // Ams port of ADS client
|
|
long nMs ); // Set timeout in ms
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsSyncGetTimeoutEx(long port, // Ams port of ADS client
|
|
long *pnMs ); // client buffer to store timeout
|
|
|
|
__declspec( dllexport )
|
|
long __stdcall AdsAmsPortEnabledEx(long nPort, BOOL *pbEnabled);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
} // extern "C"
|
|
#endif
|
|
#endif |