Biosym/MSI IPC C Language Structures
#define BIOSYM_IPC_VERSION "BiosymIpcVersion" #define BIOSYM_IPC_MESSAGE "Message" #define BIOSYM_IPC_DATATYPE "DataType" #define BIOSYM_IPC_NUMITEM "NumItem" #define BIOSYM_IPC_NUMELEMENT "NumElement" #define BIOSYM_IPC_NUMBYTE "NumByte" #define BIOSYM_IPC_END_HEADER "EndBiosymIpcHeader"The header keywords have the following meanings:
Keyword Description
=====================================================================
# comment character; ignore line
---------------------------------------------------------------------
BiosymIpcVersion indicates the version of IPC protocol used
---------------------------------------------------------------------
Message arbitrary message
< BIOSYM_IPC_MESSAGE_MAX bytes, currently 128
---------------------------------------------------------------------
DataType see table below
---------------------------------------------------------------------
NumItem # of distinct items, e.g., coordinate triples
---------------------------------------------------------------------
NumElement # of data per item, e.g. 3 for coordinates
---------------------------------------------------------------------
NumByte total # of bytes in the subsequent data block
---------------------------------------------------------------------
EndBiosymIpcHeader binary data begins immediately after the newline
---------------------------------------------------------------------
No ordering is imposed on the header information with the
exception that EndBiosymIpcHeader must appear last.
Not all header records are needed for a particular IPC frame;
the byte count will not appear for non-string data.
typedef enum {
BiosymIpcType_Integer, /* long */
BiosymIpcType_Real8, /* double */
BiosymIpcType_String
} BiosymIpcType;
#define BIOSYM_IPC_TYPE_INTEGER "integer" #define BIOSYM_IPC_TYPE_REAL8 "real8" #define BIOSYM_IPC_TYPE_STRING "string"
#define BIOSYM_IPC_VERSION_CUR "94.0" #define BIOSYM_IPC_VERSION_LEN 64 /* max length of remove version string */ #define BIOSYM_IPC_MESSAGE_MAX 128 /* max IPC frame message length */ #define BIOSYM_IPC_HEADER_MAX 256 /* max length of any ASCII header line */
typedef struct {
char message[BIOSYM_IPC_MESSAGE_MAX];
BiosymIpcType type; /* Data type for this entry */
long numItem; /* # of items for this entry */
long numElement; /* # of data elements per item (e.g., 3 for coordinates) */
long numByte; /* # of bytes total in data block (only needed for strings) */
union { /* Pointer to the actual data */
void *data;
long *integer;
double *real8;
char **string;
} data;
} BiosymIpcData;
Main
access page
Advanced-Use access.
IPC Main Page
C Application Program Interface
FORTRAN Application Program Interface
Copyright Biosym/MSI