eip_types.h
Go to the documentation of this file.
00001 
00026 #ifndef ODVA_ETHERNETIP_EIP_TYPES_H
00027 #define ODVA_ETHERNETIP_EIP_TYPES_H
00028 
00029 #include <stdint.h>
00030 
00031 #define EIP_PROTOCOL_VERSION 1
00032 
00033 // EtherNet/IP type defs
00034 typedef bool      EIP_BOOL;   //< 1-bit value
00035 typedef uint8_t   EIP_BYTE;   //< 8-bit string
00036 typedef uint8_t   EIP_USINT;  //< unsigned 8-bit "short" integer
00037 typedef int8_t    EIP_SINT;   //< signed 8-bit "short" integer
00038 typedef uint16_t  EIP_WORD;   //< 16-bit string
00039 typedef uint16_t  EIP_UINT;   //< unsigned 16-bit integer
00040 typedef int16_t   EIP_INT;    //< signed 16-bit integer
00041 typedef uint32_t  EIP_DWORD;  //< 32-bit string
00042 typedef uint32_t  EIP_UDINT;  //< 32-bit unsigned integer
00043 typedef int32_t   EIP_DINT;   //< 32-bit signed integer
00044 
00045 typedef enum
00046 {
00047   EIP_BOOL_CODE  = 0xC1,
00048   EIP_BYTE_CODE  = 0xD1,
00049   EIP_USINT_CODE = 0xC6,
00050   EIP_SINT_CODE  = 0xC2,
00051   EIP_WORD_CODE  = 0xD2,
00052   EIP_UINT_CODE  = 0xC7,
00053   EIP_INT_CODE   = 0xC3,
00054   EIP_DWORD_CODE = 0xD3,
00055   EIP_UDINT_CODE = 0xC8,
00056   EIP_DINT_CODE  = 0xC4,
00057 } EIP_TYPE_CODE;
00058 
00059 typedef enum
00060 {
00061   EIP_CMD_NOP                 = 0x0000,
00062   EIP_CMD_LIST_SERVICES       = 0x0004,
00063   EIP_CMD_LIST_IDENTITY       = 0x0063,
00064   EIP_CMD_LIST_INTERFACES     = 0x0064,
00065   EIP_CMD_REGISTER_SESSION    = 0x0065,
00066   EIP_CMD_UNREGISTER_SESSION  = 0x0066,
00067   EIP_CMD_SEND_RR_DATA        = 0x006F,
00068   EIP_CMD_SEND_UNIT_DATA      = 0x0070,
00069   EIP_CMD_INDICATE_STATUS     = 0x0072,
00070   EIP_CMD_CANCEL              = 0x0073,
00071 } EIP_CMD_T;
00072 
00073 typedef enum
00074 {
00075   EIP_STATUS_SUCCESS          = 0x0000,
00076   EIP_STATUS_INVALID_CMD      = 0x0001,
00077   EIP_STATUS_OUT_OF_MEMORY    = 0x0002,
00078   EIP_STATUS_INVALI_DATA      = 0x0003,
00079   EIP_STATUS_INVALID_SESSION  = 0x0064,
00080   EIP_STATUS_INVALID_LENGTH   = 0x0065,
00081   EIP_STATUS_INVALID_VERSION  = 0x0069,
00082 } EIP_STATUS_T;
00083 
00084 typedef enum
00085 {
00086   EIP_ITEM_NULL                       = 0x0000,
00087   EIP_ITEM_LIST_IDENTITY_RESPONSE     = 0x000C,
00088   EIP_ITEM_CONNECTION_BASED           = 0x00A1,
00089   EIP_ITEM_CONNECTED_TRANSPORT_PACKET = 0x00B1,
00090   EIP_ITEM_UNCONNECTED_MESSAGE        = 0x00B2,
00091   EIP_ITEM_LIST_SERVICES_RESPONSE     = 0x0100,
00092   EIP_ITEM_SOCKADDR_INFO_ORIGINATOR   = 0x8000,
00093   EIP_ITEM_SOCKADDR_INFO_TARGET       = 0x8001,
00094   EIP_ITEM_SEQ_ADDRESS                = 0x8002,
00095 } EIP_ITEM_T;
00096 
00097 typedef struct
00098 {
00100   EIP_USINT assembly_id;
00102   EIP_UINT buffer_size;
00104   EIP_UDINT rpi;
00105 } EIP_CONNECTION_INFO_T;
00106 
00107 #endif  // ODVA_ETHERNETIP_EIP_TYPES_H


odva_ethernetip
Author(s): Kareem Shehata
autogenerated on Sat Jun 8 2019 20:21:23