fis-gtm/sr_unix/gtm_descript.h

71 lines
1.7 KiB
C

/****************************************************************
* *
* Copyright 2001, 2009 Fidelity Information Services, Inc *
* *
* This source code contains the intellectual property *
* of its copyright holder(s), and is made available *
* under a license. If you do not know the terms of *
* the license, please stop and do not read further. *
* *
****************************************************************/
#ifndef GTM_DESCRIPT_INCLUDED
#define GTM_DESCRIPT_INCLUDED
#include "gtm_sizeof.h"
int mumps_call();
typedef struct {
short len;
short type;
void *val;
} gtm_descriptor;
typedef struct {
unsigned int len;
unsigned int type;
void *val;
} gtm32_descriptor;
/* legal types */
#define DSC_K_DTYPE_T 1
#define GTM_ARRAY_OF_CHARS DSC_K_DTYPE_T
#define DSC_K_DTYPE_D 2
#define GTM_DOUBLE DSC_K_DTYPE_D
#define DSC_K_DTYPE_B 3
#define GTM_CHAR DSC_K_DTYPE_B
#define DSC_K_DTYPE_BU 4
#define GTM_UNSIGNED_CHAR DSC_K_DTYPE_BU
#define DSC_K_DTYPE_W 5
#define GTM_SHORT DSC_K_DTYPE_W
#define DSC_K_DTYPE_WU 6
#define GTM_UNSIGNED_SHORT DSC_K_DTYPE_WU
#define DSC_K_DTYPE_L 7
#define GTM_LONG DSC_K_DTYPE_L
#define DSC_K_DTYPE_LU 8
#define GTM_UNSIGNED_LONG DSC_K_DTYPE_LU
#define DSC_K_DTYPE_F 9
#define GTM_FLOAT DSC_K_DTYPE_F
#define GTM_MODE 10
#define GTM_DELIMITER 10
#define DESCRIPTOR(x,y) {x.type = GTM_ARRAY_OF_CHARS; x.len = SIZEOF(y) - 1; x.val = y;}
#define DESC_MODE(x,y) {x.type=GTM_MODE; x.len=SIZEOF(y); x.val=(void*)&y;}
#define DESC_CHAR(x,y) {x.type=GTM_ARRAY_OF_CHARS; x.len=SIZEOF(y)-1; x.val=y;}
#define DESC_ZERO(x) {x.type=0; x.len=0;}
#define DESC_LONG(x,y) {x.type=GTM_LONG; x.len=SIZEOF(y); x.val=&y;}
#define DESC_DELIM(x,y) {x.type=GTM_DELIMITER;x.len=SIZEOF(y);x.val=(void *)&y;}
#endif