00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef __ALICEML_ARCHIVE_H__
00028 #define __ALICEML_ARCHIVE_H__
00029
00030 #include "aliceml.h"
00031 #include <stdio.h>
00032
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036
00040 typedef enum ML_SeekOrigin {
00042 ML_SEEK_BEGIN,
00044 ML_SEEK_CURRENT,
00046 ML_SEEK_END,
00047 } ML_SeekOrigin;
00048
00052 typedef struct ML_Archive ML_Archive;
00053
00055 ALICEMLAPI ML_Archive * ALICEMLCALL
00056 ML_Archive_LoadFile(const char *filename, const char *mode);
00057
00059 ALICEMLAPI ML_Archive * ALICEMLCALL
00060 ML_Archive_CreateFromFile(FILE *file, ML_bool auto_close);
00061
00063 ALICEMLAPI ML_Archive * ALICEMLCALL
00064 ML_Archive_CreateFromMem(void *memory, ML_size size);
00065
00067 ALICEMLAPI ML_Archive * ALICEMLCALL
00068 ML_Archive_CreateFromConstMem(const void *memory, ML_size size);
00069
00071 ALICEMLAPI void ALICEMLCALL
00072 ML_Archive_Destroy(ML_Archive *self);
00073
00075 ALICEMLAPI ML_size ALICEMLCALL
00076 ML_Archive_Read(ML_Archive *self, void *data, ML_size size);
00077
00079 ALICEMLAPI ML_size ALICEMLCALL
00080 ML_Archive_Write(ML_Archive *self, const void *data, ML_size size);
00081
00083 ALICEMLAPI int ALICEMLCALL
00084 ML_Archive_Seek(ML_Archive *self, int offset, ML_SeekOrigin origin);
00085
00086 #ifdef __cplusplus
00087 }
00088 #endif
00089
00090 #endif