Changeset 15
- Timestamp:
- Feb 14, 2009 10:34:08 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
caPython/db_access_local.h
r5 r15 4 4 * this down to what is needed for caPython (JPH). 5 5 */ 6 7 /* 8 * architecture independent types 9 * 10 * (so far this is sufficient for all archs we have ported to) 11 */ 12 typedef epicsOldString dbr_string_t; 13 typedef epicsUInt8 dbr_char_t; 14 typedef epicsInt16 dbr_short_t; 15 typedef epicsUInt16 dbr_ushort_t; 16 typedef epicsInt16 dbr_int_t; 17 typedef epicsUInt16 dbr_enum_t; 18 typedef epicsInt32 dbr_long_t; 19 typedef epicsUInt32 dbr_ulong_t; 20 typedef epicsFloat32 dbr_float_t; 21 typedef epicsFloat64 dbr_double_t; 22 typedef epicsUInt16 dbr_put_ackt_t; 23 typedef epicsUInt16 dbr_put_acks_t; 24 typedef epicsOldString dbr_stsack_string_t; 25 typedef epicsOldString dbr_class_name_t; 6 26 7 27 /* … … 84 104 #define INVALID_DB_REQ(x) ((x < 0) || (x > LAST_BUFFER_TYPE)) 85 105 86 106 /* VALUES WITH STATUS STRUCTURES */ 107 108 /* structure for a string status field */ 109 /* structure for a string status and ack field */ 110 /* structure for an short status field */ 111 struct dbr_sts_int{ 112 dbr_short_t status; /* status of value */ 113 dbr_short_t severity; /* severity of alarm */ 114 dbr_short_t value; /* current value */ 115 }; 116 struct dbr_sts_short{ 117 dbr_short_t status; /* status of value */ 118 dbr_short_t severity; /* severity of alarm */ 119 dbr_short_t value; /* current value */ 120 }; 121 122 /* structure for a float status field */ 123 struct dbr_sts_float{ 124 dbr_short_t status; /* status of value */ 125 dbr_short_t severity; /* severity of alarm */ 126 dbr_float_t value; /* current value */ 127 }; 128 129 /* structure for a enum status field */ 130 struct dbr_sts_enum{ 131 dbr_short_t status; /* status of value */ 132 dbr_short_t severity; /* severity of alarm */ 133 dbr_enum_t value; /* current value */ 134 }; 135 136 /* structure for a char status field */ 137 struct dbr_sts_char{ 138 dbr_short_t status; /* status of value */ 139 dbr_short_t severity; /* severity of alarm */ 140 dbr_char_t RISC_pad; /* RISC alignment */ 141 dbr_char_t value; /* current value */ 142 }; 143 /* structure for a long status field */ 144 struct dbr_sts_long{ 145 dbr_short_t status; /* status of value */ 146 dbr_short_t severity; /* severity of alarm */ 147 dbr_long_t value; /* current value */ 148 }; 149 150 /* structure for a double status field */ 151 struct dbr_sts_double{ 152 dbr_short_t status; /* status of value */ 153 dbr_short_t severity; /* severity of alarm */ 154 dbr_long_t RISC_pad; /* RISC alignment */ 155 dbr_double_t value; /* current value */ 156 }; 157 158 /* VALUES WITH STATUS AND TIME STRUCTURES */ 159 160 /* structure for a string time field */ 161 162 /* structure for an short time field */ 163 struct dbr_time_short{ 164 dbr_short_t status; /* status of value */ 165 dbr_short_t severity; /* severity of alarm */ 166 epicsTimeStamp stamp; /* time stamp */ 167 dbr_short_t RISC_pad; /* RISC alignment */ 168 dbr_short_t value; /* current value */ 169 }; 170 171 /* structure for a float time field */ 172 struct dbr_time_float{ 173 dbr_short_t status; /* status of value */ 174 dbr_short_t severity; /* severity of alarm */ 175 epicsTimeStamp stamp; /* time stamp */ 176 dbr_float_t value; /* current value */ 177 }; 178 179 /* structure for a enum time field */ 180 struct dbr_time_enum{ 181 dbr_short_t status; /* status of value */ 182 dbr_short_t severity; /* severity of alarm */ 183 epicsTimeStamp stamp; /* time stamp */ 184 dbr_short_t RISC_pad; /* RISC alignment */ 185 dbr_enum_t value; /* current value */ 186 }; 187 188 /* structure for a char time field */ 189 struct dbr_time_char{ 190 dbr_short_t status; /* status of value */ 191 dbr_short_t severity; /* severity of alarm */ 192 epicsTimeStamp stamp; /* time stamp */ 193 dbr_short_t RISC_pad0; /* RISC alignment */ 194 dbr_char_t RISC_pad1; /* RISC alignment */ 195 dbr_char_t value; /* current value */ 196 }; 197 198 /* structure for a long time field */ 199 struct dbr_time_long{ 200 dbr_short_t status; /* status of value */ 201 dbr_short_t severity; /* severity of alarm */ 202 epicsTimeStamp stamp; /* time stamp */ 203 dbr_long_t value; /* current value */ 204 }; 205 206 /* structure for a double time field */ 207 struct dbr_time_double{ 208 dbr_short_t status; /* status of value */ 209 dbr_short_t severity; /* severity of alarm */ 210 epicsTimeStamp stamp; /* time stamp */ 211 dbr_long_t RISC_pad; /* RISC alignment */ 212 dbr_double_t value; /* current value */ 213 }; 214 215 /* VALUES WITH STATUS AND GRAPHIC STRUCTURES */ 216 217 /* structure for a graphic string */ 218 /* not implemented; use struct_dbr_sts_string */ 219 220 /* structure for a graphic short field */ 221 struct dbr_gr_int{ 222 dbr_short_t status; /* status of value */ 223 dbr_short_t severity; /* severity of alarm */ 224 char units[MAX_UNITS_SIZE]; /* units of value */ 225 dbr_short_t upper_disp_limit; /* upper limit of graph */ 226 dbr_short_t lower_disp_limit; /* lower limit of graph */ 227 dbr_short_t upper_alarm_limit; 228 dbr_short_t upper_warning_limit; 229 dbr_short_t lower_warning_limit; 230 dbr_short_t lower_alarm_limit; 231 dbr_short_t value; /* current value */ 232 }; 233 struct dbr_gr_short{ 234 dbr_short_t status; /* status of value */ 235 dbr_short_t severity; /* severity of alarm */ 236 char units[MAX_UNITS_SIZE]; /* units of value */ 237 dbr_short_t upper_disp_limit; /* upper limit of graph */ 238 dbr_short_t lower_disp_limit; /* lower limit of graph */ 239 dbr_short_t upper_alarm_limit; 240 dbr_short_t upper_warning_limit; 241 dbr_short_t lower_warning_limit; 242 dbr_short_t lower_alarm_limit; 243 dbr_short_t value; /* current value */ 244 }; 245 246 /* structure for a graphic floating point field */ 247 struct dbr_gr_float{ 248 dbr_short_t status; /* status of value */ 249 dbr_short_t severity; /* severity of alarm */ 250 dbr_short_t precision; /* number of decimal places */ 251 dbr_short_t RISC_pad0; /* RISC alignment */ 252 char units[MAX_UNITS_SIZE]; /* units of value */ 253 dbr_float_t upper_disp_limit; /* upper limit of graph */ 254 dbr_float_t lower_disp_limit; /* lower limit of graph */ 255 dbr_float_t upper_alarm_limit; 256 dbr_float_t upper_warning_limit; 257 dbr_float_t lower_warning_limit; 258 dbr_float_t lower_alarm_limit; 259 dbr_float_t value; /* current value */ 260 }; 261 262 /* structure for a graphic enumeration field */ 263 struct dbr_gr_enum{ 264 dbr_short_t status; /* status of value */ 265 dbr_short_t severity; /* severity of alarm */ 266 dbr_short_t no_str; /* number of strings */ 267 char strs[MAX_ENUM_STATES][MAX_ENUM_STRING_SIZE]; 268 /* state strings */ 269 dbr_enum_t value; /* current value */ 270 }; 271 272 /* structure for a graphic char field */ 273 struct dbr_gr_char{ 274 dbr_short_t status; /* status of value */ 275 dbr_short_t severity; /* severity of alarm */ 276 char units[MAX_UNITS_SIZE]; /* units of value */ 277 dbr_char_t upper_disp_limit; /* upper limit of graph */ 278 dbr_char_t lower_disp_limit; /* lower limit of graph */ 279 dbr_char_t upper_alarm_limit; 280 dbr_char_t upper_warning_limit; 281 dbr_char_t lower_warning_limit; 282 dbr_char_t lower_alarm_limit; 283 dbr_char_t RISC_pad; /* RISC alignment */ 284 dbr_char_t value; /* current value */ 285 }; 286 287 /* structure for a graphic long field */ 288 struct dbr_gr_long{ 289 dbr_short_t status; /* status of value */ 290 dbr_short_t severity; /* severity of alarm */ 291 char units[MAX_UNITS_SIZE]; /* units of value */ 292 dbr_long_t upper_disp_limit; /* upper limit of graph */ 293 dbr_long_t lower_disp_limit; /* lower limit of graph */ 294 dbr_long_t upper_alarm_limit; 295 dbr_long_t upper_warning_limit; 296 dbr_long_t lower_warning_limit; 297 dbr_long_t lower_alarm_limit; 298 dbr_long_t value; /* current value */ 299 }; 300 301 /* structure for a graphic double field */ 302 struct dbr_gr_double{ 303 dbr_short_t status; /* status of value */ 304 dbr_short_t severity; /* severity of alarm */ 305 dbr_short_t precision; /* number of decimal places */ 306 dbr_short_t RISC_pad0; /* RISC alignment */ 307 char units[MAX_UNITS_SIZE]; /* units of value */ 308 dbr_double_t upper_disp_limit; /* upper limit of graph */ 309 dbr_double_t lower_disp_limit; /* lower limit of graph */ 310 dbr_double_t upper_alarm_limit; 311 dbr_double_t upper_warning_limit; 312 dbr_double_t lower_warning_limit; 313 dbr_double_t lower_alarm_limit; 314 dbr_double_t value; /* current value */ 315 }; 316 317 /* VALUES WITH STATUS, GRAPHIC and CONTROL STRUCTURES */ 318 319 /* structure for a control string */ 320 /* not implemented; use struct_dbr_sts_string */ 321 322 /* structure for a control integer */ 323 struct dbr_ctrl_int{ 324 dbr_short_t status; /* status of value */ 325 dbr_short_t severity; /* severity of alarm */ 326 char units[MAX_UNITS_SIZE]; /* units of value */ 327 dbr_short_t upper_disp_limit; /* upper limit of graph */ 328 dbr_short_t lower_disp_limit; /* lower limit of graph */ 329 dbr_short_t upper_alarm_limit; 330 dbr_short_t upper_warning_limit; 331 dbr_short_t lower_warning_limit; 332 dbr_short_t lower_alarm_limit; 333 dbr_short_t upper_ctrl_limit; /* upper control limit */ 334 dbr_short_t lower_ctrl_limit; /* lower control limit */ 335 dbr_short_t value; /* current value */ 336 }; 337 struct dbr_ctrl_short{ 338 dbr_short_t status; /* status of value */ 339 dbr_short_t severity; /* severity of alarm */ 340 char units[MAX_UNITS_SIZE]; /* units of value */ 341 dbr_short_t upper_disp_limit; /* upper limit of graph */ 342 dbr_short_t lower_disp_limit; /* lower limit of graph */ 343 dbr_short_t upper_alarm_limit; 344 dbr_short_t upper_warning_limit; 345 dbr_short_t lower_warning_limit; 346 dbr_short_t lower_alarm_limit; 347 dbr_short_t upper_ctrl_limit; /* upper control limit */ 348 dbr_short_t lower_ctrl_limit; /* lower control limit */ 349 dbr_short_t value; /* current value */ 350 }; 351 352 /* structure for a control floating point field */ 353 struct dbr_ctrl_float{ 354 dbr_short_t status; /* status of value */ 355 dbr_short_t severity; /* severity of alarm */ 356 dbr_short_t precision; /* number of decimal places */ 357 dbr_short_t RISC_pad; /* RISC alignment */ 358 char units[MAX_UNITS_SIZE]; /* units of value */ 359 dbr_float_t upper_disp_limit; /* upper limit of graph */ 360 dbr_float_t lower_disp_limit; /* lower limit of graph */ 361 dbr_float_t upper_alarm_limit; 362 dbr_float_t upper_warning_limit; 363 dbr_float_t lower_warning_limit; 364 dbr_float_t lower_alarm_limit; 365 dbr_float_t upper_ctrl_limit; /* upper control limit */ 366 dbr_float_t lower_ctrl_limit; /* lower control limit */ 367 dbr_float_t value; /* current value */ 368 }; 369 370 /* structure for a control enumeration field */ 371 struct dbr_ctrl_enum{ 372 dbr_short_t status; /* status of value */ 373 dbr_short_t severity; /* severity of alarm */ 374 dbr_short_t no_str; /* number of strings */ 375 char strs[MAX_ENUM_STATES][MAX_ENUM_STRING_SIZE]; 376 /* state strings */ 377 dbr_enum_t value; /* current value */ 378 }; 379 380 /* structure for a control char field */ 381 struct dbr_ctrl_char{ 382 dbr_short_t status; /* status of value */ 383 dbr_short_t severity; /* severity of alarm */ 384 char units[MAX_UNITS_SIZE]; /* units of value */ 385 dbr_char_t upper_disp_limit; /* upper limit of graph */ 386 dbr_char_t lower_disp_limit; /* lower limit of graph */ 387 dbr_char_t upper_alarm_limit; 388 dbr_char_t upper_warning_limit; 389 dbr_char_t lower_warning_limit; 390 dbr_char_t lower_alarm_limit; 391 dbr_char_t upper_ctrl_limit; /* upper control limit */ 392 dbr_char_t lower_ctrl_limit; /* lower control limit */ 393 dbr_char_t RISC_pad; /* RISC alignment */ 394 dbr_char_t value; /* current value */ 395 }; 396 397 /* structure for a control long field */ 398 struct dbr_ctrl_long{ 399 dbr_short_t status; /* status of value */ 400 dbr_short_t severity; /* severity of alarm */ 401 char units[MAX_UNITS_SIZE]; /* units of value */ 402 dbr_long_t upper_disp_limit; /* upper limit of graph */ 403 dbr_long_t lower_disp_limit; /* lower limit of graph */ 404 dbr_long_t upper_alarm_limit; 405 dbr_long_t upper_warning_limit; 406 dbr_long_t lower_warning_limit; 407 dbr_long_t lower_alarm_limit; 408 dbr_long_t upper_ctrl_limit; /* upper control limit */ 409 dbr_long_t lower_ctrl_limit; /* lower control limit */ 410 dbr_long_t value; /* current value */ 411 }; 412 413 /* structure for a control double field */ 414 struct dbr_ctrl_double{ 415 dbr_short_t status; /* status of value */ 416 dbr_short_t severity; /* severity of alarm */ 417 dbr_short_t precision; /* number of decimal places */ 418 dbr_short_t RISC_pad0; /* RISC alignment */ 419 char units[MAX_UNITS_SIZE]; /* units of value */ 420 dbr_double_t upper_disp_limit; /* upper limit of graph */ 421 dbr_double_t lower_disp_limit; /* lower limit of graph */ 422 dbr_double_t upper_alarm_limit; 423 dbr_double_t upper_warning_limit; 424 dbr_double_t lower_warning_limit; 425 dbr_double_t lower_alarm_limit; 426 dbr_double_t upper_ctrl_limit; /* upper control limit */ 427 dbr_double_t lower_ctrl_limit; /* lower control limit */ 428 dbr_double_t value; /* current value */ 429 }; 430
Note: See TracChangeset
for help on using the changeset viewer.