41 #ifndef __EIPS_TAG_H__
42 #define __EIPS_TAG_H__
45 #define EIPS_TAG_MAX_LEN_PER_STRING 40
46 #define EIPS_TAG_MAX_NUM_ELEMENT_LEVELS 5
47 #define EIPS_TAG_MAX_NUM_ARRAY_LEVELS 1
64 char str[EIPS_TAG_MAX_LEN_PER_STRING];
66 uint16 array_ix[EIPS_TAG_MAX_NUM_ARRAY_LEVELS];
75 #define MAX_STRING_TAGSIZE 82
79 char dat[(MAX_STRING_TAGSIZE+2)];
83 #define EIPS_CL_DATATYPE_BOOL 0x00C1
84 #define EIPS_CL_DATATYPE_SINT 0x00C2
85 #define EIPS_CL_DATATYPE_INT 0x00C3
86 #define EIPS_CL_DATATYPE_DINT 0x00C4
87 #define EIPS_CL_DATATYPE_REAL 0x00CA
88 #define EIPS_CL_DATATYPE_BITARRAY 0x00D3
89 #define EIPS_CL_DATATYPE_STRUCTURE 0x02A0
90 #define EIPS_CL_STRUCTHANDLE_STRING 0x0FCE
93 #define EIPS_TAGERR_SUCCESS 0
94 #define EIPS_TAGERR_PASSED_PARAM -1
95 #define EIPS_TAGERR_TAG_NOT_FOUND -2
96 #define EIPS_TAGERR_TAG_READ_ONLY -3
97 #define EIPS_TAGERR_DATA_SIZE_ERROR -4
98 #define EIPS_TAGERR_PARTIAL_XFER -5
99 #define EIPS_TAGERR_OFFSET 0x2105
100 #define EIPS_TAGERR_DATA_TYPE 0x2107
102 #define EIPS_FRAG_TAG_MAX_DATA_ON_READ 400
107 int16 eips_tag_reassemble_tagname (
EIPS_TAG *tag,
char *str, uint16 max_len_str);
109 #ifdef EIPS_CIP_READ_WRITE_DATA_LOGIX
112 #ifdef EIPS_CIP_READ_WRITE_DATA_LOGIX_ADVANCED
119 #ifdef EIPS_CIP_READ_WRITE_DATA_LOGIX
120 int16 eips_usertag_get_read_data (
EIPS_TAG *tag, uint16 size_in_elements, uint16 *data_type_from_user,
void *data_ptr, uint16 max_data_ptr_len_in_bytes);
121 int16 eips_usertag_set_write_data (
EIPS_TAG *tag, uint16 size_in_elements, uint16 data_type,
void *data_ptr, uint16 data_ptr_len_in_bytes);
127 #ifdef EIPS_CIP_READ_WRITE_DATA_LOGIX_ADVANCED
129 int16 eips_usertag_get_read_data_formatted (
EIPS_TAG *tag, uint16 size_in_elements, uint16 *data_type_from_user, uint16 *struct_handle_from_user, uint8 *data_ptr, uint16 *max_data_ptr_len_in_bytes);
130 int16 eips_usertag_set_write_data_formatted (
EIPS_TAG *tag, uint16 size_in_elements, uint16 data_type, uint16 struct_handle, uint8 *data_ptr, uint16 data_ptr_len_in_bytes);
133 int16 eips_usertag_get_frag_read_data_formatted (
EIPS_TAG *tag, uint16 size_in_elements, uint32 byte_data_offset, uint16 *data_type_from_user, uint16 *struct_handle_from_user, uint8 *data_ptr, uint16 *max_data_ptr_len_in_bytes);
134 int16 eips_usertag_set_frag_write_data_formatted (
EIPS_TAG *tag, uint16 size_in_elements, uint32 byte_data_offset, uint16 data_type, uint16 struct_handle, uint8 *data_ptr, uint16 data_ptr_len_in_bytes);
Definition: eips_tag.h:69
Definition: eips_struct.h:189
Definition: eips_tag.h:76
Definition: eips_tag.h:61
Definition: eips_struct.h:198