Logo Search packages:      
Sourcecode: pymol version File versions

Raw.h

/* 
A* -------------------------------------------------------------------
B* This file contains source code for the PyMOL computer program
C* copyright 1998-2000 by Warren Lyford Delano of DeLano Scientific. 
D* -------------------------------------------------------------------
E* It is unlawful to modify or remove this copyright notice.
F* -------------------------------------------------------------------
G* Please see the accompanying LICENSE file for further information. 
H* -------------------------------------------------------------------
I* Additional authors of this source file include:
-* 
-* 
-*
Z* -------------------------------------------------------------------
*/
#ifndef _H_Raw
#define _H_Raw

/* interface class for device-independent, raw binary I/O */

typedef struct { 
  int mode; 
  FILE *f;
  char *bufVLA;
  int swap;
  int header[4];
} CRaw; 

/* object types */

#define cRaw_EOF                     0
#define cRaw_AtomInfo1               1
#define cRaw_Coords1                 2
#define cRaw_Spheroid1               3
#define cRaw_SpheroidNormals1        4
#define cRaw_SpheroidInfo1           5
#define cRaw_Bonds1                  6

/* FYI: file format;

4 byte magic for determining endianess 0x04030201

followed by any number of records with the following header...

4 bytes (record length, less header) 
4 bytes (record type)
4 bytes (program version)
4 bytes (serial number)
...

*/

CRaw *RawOpenRead(char *fname);
CRaw *RawOpenWrite(char *fname);
CRaw *RawOpenAppend(char *fname);
void RawFree(CRaw *I);

int RawWrite(CRaw *I,int type,unsigned int size,int serial,char *bytes);

int RawGetNext(CRaw *I,int *size,int *version);

char *RawRead(CRaw *I,int *type,unsigned int *size,int *serial);
char *RawReadPtr(CRaw *I,int type,int *size);
char *RawReadVLA(CRaw *I,int type,unsigned int rec_size,int grow_factor,int auto_zero);
int RawReadInto(CRaw *I,int type,unsigned int size,char *buffer);
int RawReadSkip(CRaw *I);

#endif










Generated by  Doxygen 1.6.0   Back to index