00001
00006 #ifndef _DRMS_PROTOCOL_H
00007 #define _DRMS_PROTOCOL_H
00008
00009 #include "drms_types.h"
00010
00014 enum DRMS_Protocol_enum {
00015 DRMS_PROTOCOL_INVALID = -1,
00017 DRMS_GENERIC = 0,
00019 DRMS_BINARY,
00021 DRMS_BINZIP,
00023 DRMS_FITZ,
00025 DRMS_FITS,
00027 DRMS_MSI,
00029 DRMS_TAS,
00031 DRMS_DSDS,
00033 DRMS_LOCAL,
00035 DRMS_FITZDEPRECATED,
00037 DRMS_FITSDEPRECATED,
00038 DRMS_PROTOCOL_END
00039 };
00040
00041 typedef enum DRMS_Protocol_enum DRMS_Protocol_t;
00042
00043
00044 typedef struct DRMS_GenericSpecific_struct {
00045 int spare;
00046 } DRMS_GenericSpecific_t ;
00047
00048 typedef struct DRMS_BinarySpecific_struct {
00049 int endian;
00050 } DRMS_BinarySpecific_t ;
00051
00052 typedef struct DRMS_BinzipSpecific_struct {
00053 int endian;
00054 } DRMS_BinzipSpecific_t ;
00055
00056 typedef struct DRMS_FitsSpecific_struct {
00057 int bitpix;
00058 int bscale, bzero;
00059 } DRMS_FitsSpecific_t ;
00060
00061 typedef struct DRMS_FitzSpecific_struct {
00062 int bitpix;
00063 int bscale, bzero;
00064 int blocksize;
00065 } DRMS_FitzSpecific_t;
00066
00067 typedef struct DRMS_MSISpecific_struct {
00068 int quant;
00069 } DRMS_MSISpecific_t;
00070
00071 typedef struct DRMS_TASSpecific_struct {
00072 int blksz[DRMS_MAXRANK];
00073 char *tilebuf;
00074
00075 char *zbuf;
00076
00077 int quant;
00078 } DRMS_TASSpecific_t;
00079
00080
00081 DRMS_Protocol_t drms_str2prot(const char *str);
00082 const char *drms_prot2str(DRMS_Protocol_t prot);
00083 const char *drms_prot2ext (DRMS_Protocol_t prot);
00084 void drms_protocol_term();
00085
00086 #endif