//////////////////////////////////////////////////////////////////////////////// // File: AdsAPI.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 AdsGetDllVersion( void ); __declspec( dllexport ) long AdsPortOpen( void ); __declspec( dllexport ) long AdsPortClose( void ); __declspec( dllexport ) long AdsGetLocalAddress( AmsAddr* pAddr ); __declspec( dllexport ) long 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 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 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 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 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 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 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 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 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 PAdsNotificationFunc pNoteFunc, // address of notification callback unsigned long hUser, // user handle unsigned long *pNotification // pointer to notification handle (return value) ); __declspec( dllexport ) long AdsSyncDelDeviceNotificationReq( AmsAddr* pAddr,// Ams address of ADS server unsigned long hNotification // notification handle ); __declspec( dllexport ) long AdsSyncSetTimeout( long nMs ); // Set timeout in ms /// register callback __declspec( dllexport ) long AdsAmsRegisterRouterNotification (PAmsRouterNotificationFunc pNoteFunc ); /// unregister callback __declspec( dllexport ) long AdsAmsUnRegisterRouterNotification (); #ifdef __cplusplus } // extern "C" #endif #endif