/usr/include/openigtlink/igtl_header.h is in libopenigtlink-dev 1.11.0-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71  | /*=========================================================================
  Program:   The OpenIGTLink Library
  Language:  C
  Web page:  http://openigtlink.org/
  Copyright (c) Insight Software Consortium. All rights reserved.
  This software is distributed WITHOUT ANY WARRANTY; without even
  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  PURPOSE.  See the above copyright notices for more information.
=========================================================================*/
#ifndef __IGTL_HEADER_H
#define __IGTL_HEADER_H
#define IGTL_HEADER_VERSION   1
#define IGTL_HEADER_SIZE      58
#define IGTL_HEADER_TYPE_SIZE  12
#define IGTL_HEADER_NAME_SIZE  20
/* Following macros will be obsolete. Included for old programs*/
#define IGTL_HEADER_TYPESIZE  IGTL_HEADER_TYPE_SIZE
#define IGTL_HEADER_NAMESIZE  IGTL_HEADER_NAME_SIZE
#define IGTL_HEADER_DEVSIZE   IGTL_HEADER_NAME_SIZE
/* Device name prefix macro */
#define IGTL_TYPE_PREFIX_NONE     0
#define IGTL_TYPE_PREFIX_GET      1
#define IGTL_TYPE_PREFIX_STT      2
#define IGTL_TYPE_PREFIX_STP      3
#define IGTL_TYPE_PREFIX_RTS      4
#define IGTL_NUM_TYPE_PREFIX      5
#include "igtl_types.h"
#include "igtl_win32header.h"
#ifdef __cplusplus
extern "C" {
#endif
#pragma pack(1)     /* For 1-byte boundary in memroy */
/** Message header of OpenIGTLink message.
 *  igtl_header is an overall data header for OpenIGTLink protocol.
 *  It is transfered at beginning of every OpenIGTLink message to give
 *  type and size of following data body to a receiver.
 *  These parameters allow the receiver to parse or skip the data body. */
typedef struct {
  igtl_uint16    version;          /* protocol version number */
  char           name[IGTL_HEADER_TYPE_SIZE];       /* data type name          */
  char           device_name[IGTL_HEADER_NAME_SIZE]; /* device name             */
  igtl_uint64    timestamp;        /* time stamp message      */
  igtl_uint64    body_size;        /* size of the body        */
  igtl_uint64    crc;              /* CRC                     */
} igtl_header;
#pragma pack()
/** igtl_header_convert_byte_order() convers endianness of each
 *  member variable in igtl_header structre from host byte order
 *  to network byte order, or vice versa. */
void igtl_export igtl_header_convert_byte_order(igtl_header * header);
#ifdef __cplusplus
}
#endif
#endif /* __IGTL_HEADER_H */
 |