| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- /*******************************************************************************
- * Copyright (c) 2009, Rockwell Automation, Inc.
- * All rights reserved.
- *
- ******************************************************************************/
- #ifndef OPENER_NETWORKHANDLER_H_
- #define OPENER_NETWORKHANDLER_H_
- #include "typedefs.h"
- #define OPENER_SOCKET_WOULD_BLOCK EWOULDBLOCK
- /** @brief Executes platform dependent network handler initialization code
- *
- * @return EipStatusOk if initialization was successful, otherwise EipStatusError
- */
- EipStatus NetworkHandlerInitializePlatform(void);
- /** @brief Platform dependent code to shutdown a stream socket
- *
- * @param socket_handle The socket to shut down
- */
- void ShutdownSocketPlatform(int socket_handle);
- /** @brief Platform dependent code to close a socket
- *
- * @param socket_handle The socket handle to be closed
- */
- void CloseSocketPlatform(int socket_handle);
- /** @brief Tries to set socket to non blocking behavior
- *
- * @param socket_handle The socket handle to be set
- *
- * @return platform specific result code
- */
- int SetSocketToNonBlocking(int socket_handle);
- /** @brief Returns current time in microseconds from monotonic time base, please note
- * that this does not represent a real absolute time, but measured from an arbitrary starting point
- *
- * This function returns the current time relative to an arbitrary starting point from a monotonic time source.
- * As monotonic clocks and clock functions in general are platform dependent, this has to be implemented for each platform
- * (see ports subfolders)
- *
- * @return Current time relative to monotonic clock starting point as MicroSeconds
- */
- MicroSeconds GetMicroSeconds(void);
- /** @brief Returns current time in milliseconds from monotonic time base, please note
- * that this does not represent a real absolute time, but measured from an arbitrary starting point
- *
- * This function returns the current time relative to an arbitrary starting point from a monotonic time source.
- * As monotonic clocks and clock functions in general are platform dependent, this has to be implemented for each platform
- * (see ports subfolders)
- *
- * @return Current time relative to monotonic clock starting point as MilliSeconds
- */
- MilliSeconds GetMilliSeconds(void);
- /** @brief Sets QoS on socket
- *
- * A wrapper function - needs a platform dependent implementation to set QoS on a socket
- *
- * @param socket The socket which QoS shall be set
- * @param qos_value The desired QoS value, as specified in ENIP Vol.2 QoS Object
- *
- * @return platform dependent result code
- *
- */
- int SetQosOnSocket(const int socket, CipUsint qos_value);
- #endif /* OPENER_NETWORKHANDLER_H_ */
|