16 #include "opener_user_conf.h"
19 struct timespec now = { .tv_nsec = 0, .tv_sec = 0 };
21 int error = clock_gettime( CLOCK_MONOTONIC, &now );
24 now.tv_sec * 1000000ULL;
38 if(0 != shutdown(socket_handle, SHUT_RDWR) ) {
51 return fcntl(socket_handle, F_SETFL, fcntl(socket_handle,
58 int set_tos = qos_value;
59 return setsockopt(socket, IPPROTO_IP, IP_TOS, &set_tos,
sizeof(set_tos) );
MilliSeconds GetMilliSeconds(void)
This function shall return the current time in milliseconds relative to epoch, and shall be implement...
void CloseSocketPlatform(int socket_handle)
Platform dependent code to close a socket.
Tracing infrastructure for OpENer.
char * GetErrorMessage(int error_number)
Returns a human readable message for the given error number.
This file includes the prototypes for error resolution functions like strerror_r or WSAGetLastError...
#define OPENER_ASSERT(assertion)
unsigned long long MicroSeconds
#define OPENER_TRACE_ERR(...)
int SetSocketToNonBlocking(int socket_handle)
EipStatus
EIP stack status enum.
MicroSeconds GetMicroSeconds(void)
This function shall return the current time in microseconds relative to epoch, and shall be implement...
int SetQosOnSocket(int socket, CipUsint qos_value)
EipStatus NetworkHandlerInitializePlatform(void)
Executes platform dependent network handler initialization code.
This file contains the public interface of the encapsulation layer.
unsigned long MilliSeconds
void FreeErrorMessage(char *error_message)
Frees the space of the error message generated by GetErrorMessage(int)
int GetSocketErrorNumber()
Gets the error number or equivalent.