home *** CD-ROM | disk | FTP | other *** search
- #ifndef CLIB_INI_PROTOS_H
- #define CLIB_INI_PROTOS_H
-
- /*
- ** $VER: ini_protos.h 31.00 (16.3.99)
- **
- ** C prototypes. For use with 32 bit integers only.
- **
- ** (C) Copyright 1999 Basty/Seasons.
- ** All Rights Reserved
- */
-
- #ifndef EXEC_TYPES_H
- #include "exec/types.h"
- #endif /* EXEC_TYPES_H */
-
- #ifndef LIBRARIES_INI_LIB_H
- #include "libraries/ini_lib.h"
- #endif /* LIBRARIES_INI_LIB.H */
-
- /* Miscellanous functions (mainly for coder support) */
- APTR iniAllocPMem( unsigned long byteSize );
- void iniFreePMem( APTR memoryBlock, unsigned long byteSize );
- STRPTR iniAllocNameStr( STRPTR string );
- void iniFreeNameStr( STRPTR namestring );
- STRPTR iniSetString( STRPTR *StructPos, STRPTR string );
- STRPTR iniSetNameStr( STRPTR *StructPos, STRPTR namestring );
-
- /* INI file management */
- struct iniFile *iniOpenDefault( APTR address, STRPTR name,
- unsigned long len );
- struct iniFile *iniOpenFile( STRPTR name, long accessMode );
- struct iniFile *iniOpenFromFH( BPTR fh, unsigned long len );
- struct iniFile *iniOpenMem( APTR address, unsigned long len );
- void iniClose( struct iniFile *iniFile );
- ULONG iniSaveFile( struct iniFile *iniFile, STRPTR name, long accessMode );
- ULONG iniSaveToFH( BPTR fh, struct iniFile *iniFile );
-
- /* INI file context construction functions */
- struct iniContext *iniCreateContext( STRPTR ContextName );
- void iniFreeContext( struct iniContext *ContextStr );
- void iniAddContext( struct iniFile *iniFile, struct iniContext *ContextStr );
- void iniRemContext( struct iniFile *iniFile );
- void iniInsertContext( struct iniFile *iniFile,
- struct iniContext *ContextStr, struct iniContext *PredContext );
- void iniDeleteContext( struct iniContext *ContextStr );
-
- /* INI file context item construction functions */
- struct iniContextItemLine *iniCreateContextItem( STRPTR CStr );
- void iniFreeContextItem( struct iniContextItemLine *ContextItemLine );
- void iniAddContextItem( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine );
- void iniRemContextItem( struct iniContext *ContextStr );
- void iniInsertContextItem( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine,
- struct iniContextItemLine *PredLine );
- void iniDeleteContextItem( struct iniContextItemLine *ContextItemLine );
-
- /* Evaluating INI context and item fields */
- LONG iniReadLong( struct iniFile *iniFile, STRPTR ContextName,
- STRPTR ItemName, long Default, unsigned long Flags );
- LONG iniReadFloat( struct iniFile *iniFile, STRPTR ContextName,
- STRPTR ItemName, long Default, unsigned long Flags );
- STRPTR iniReadStr( struct iniFile *iniFile, STRPTR ContextName,
- STRPTR ItemName, STRPTR Default, unsigned long Flags );
- BOOL iniReadByteA( struct iniFile *iniFile, STRPTR ContextName,
- STRPTR ContextItem, BYTE *Array, unsigned long Entries,
- unsigned long Flags );
- BOOL iniReadWordA( struct iniFile *iniFile, STRPTR ContextName,
- STRPTR ContextItem, WORD *Array, unsigned long Entries,
- unsigned long Flags );
- BOOL iniReadLongA( struct iniFile *iniFile, STRPTR ContextName,
- STRPTR ContextItem, LONG *Array, unsigned long Entries,
- unsigned long Flags );
- BOOL iniReadFloatA( struct iniFile *iniFile, STRPTR ContextName,
- STRPTR ContextItem, LONG *Array, unsigned long Entries,
- unsigned long Flags );
- BOOL iniReadStrA( struct iniFile *iniFile, STRPTR ContextName,
- STRPTR ContextItem, STRPTR *Array, unsigned long Entries,
- unsigned long Flags );
- ULONG iniWriteLong( struct iniFile *iniFile, STRPTR ContextName,
- STRPTR ContextItem, long Value, unsigned long Flags,
- unsigned long Format, unsigned long Len, unsigned long ZeroSep );
- ULONG iniWriteFloat( struct iniFile *iniFile, STRPTR ContextName,
- STRPTR ContextItem, long Value, unsigned long Flags,
- unsigned long FltFormat, unsigned long IntLen, unsigned long FracLen,
- unsigned long ZeroSep );
- ULONG iniWriteStr( struct iniFile *iniFile, STRPTR ContextName,
- STRPTR ContextItem, STRPTR String, unsigned long Flags );
- ULONG iniWriteByteA( struct iniFile *iniFile, STRPTR ContextName,
- STRPTR ContextItem, BYTE *Array, unsigned long Entries,
- unsigned long Flags, unsigned long Format, unsigned long Len,
- unsigned long ZeroSep );
- ULONG iniWriteWordA( struct iniFile *iniFile, STRPTR ContextName,
- STRPTR ContextItem, WORD *Array, unsigned long Entries,
- unsigned long Flags, unsigned long Format, unsigned long Len,
- unsigned long ZeroSep );
- ULONG iniWriteLongA( struct iniFile *iniFile, STRPTR ContextName,
- STRPTR ContextItem, LONG *Array, unsigned long Entries,
- unsigned long Flags, unsigned long Format, unsigned long Len,
- unsigned long ZeroSep );
- ULONG iniWriteFloatA( struct iniFile *iniFile, STRPTR ContextName,
- STRPTR ContextItem, LONG *Array, unsigned long Entries,
- unsigned long Flags, unsigned long FloatFormat, unsigned long IntLen,
- unsigned long FracLen, unsigned long ZeroSep );
- ULONG iniWriteStrA( struct iniFile *iniFile, STRPTR ContextName,
- STRPTR ContextItem, STRPTR *Array, unsigned long Entries,
- unsigned long Flags );
-
- /* Low level functions (these evaluate single lines) */
- STRPTR iniGetContextName( STRPTR ContextLine, STRPTR Buffer );
- STRPTR iniGetContextItem( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, STRPTR Buffer );
- STRPTR iniGetContextItemData( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, STRPTR Buffer );
- STRPTR iniGetContextItemDataA( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, STRPTR Buffer,
- unsigned long Number );
- BOOL iniCheckComment( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine );
- ULONG iniGetNumArrays( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine );
- STRPTR iniGetArrayLine( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, unsigned long Number );
- STRPTR iniGetArrayPos( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, unsigned long Number );
- LONG iniGetLong( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, long Default );
- LONG iniGetFloat( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, long Default );
- STRPTR iniGetStr( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, STRPTR Default );
- ULONG iniGetByteA( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, BYTE *Array,
- unsigned long Entries );
- ULONG iniGetWordA( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, WORD *Array,
- unsigned long Entries );
- ULONG iniGetLongA( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, LONG *Array,
- unsigned long Entries );
- ULONG iniGetFloatA( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, LONG *Array,
- unsigned long Entries );
- STRPTR iniGetStrA( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, STRPTR *Array,
- unsigned long Entries );
- ULONG iniPutLong( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, long Value,
- unsigned long Format, unsigned long Len, unsigned long ZeroSep );
- ULONG iniPutFloat( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, long Value,
- unsigned long FltFormat, unsigned long IntLen, unsigned long FracLen,
- unsigned long ZeroSep );
- ULONG iniPutStr( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, STRPTR String );
- ULONG iniPutByteA( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, BYTE *Array,
- unsigned long Entries, unsigned long Format, unsigned long Len,
- unsigned long ZeroSep );
- ULONG iniPutWordA( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, WORD *Array,
- unsigned long Entries, unsigned long Format, unsigned long Len,
- unsigned long ZeroSep );
- ULONG iniPutLongA( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, LONG *Array,
- unsigned long Entries, unsigned long Format, unsigned long Len,
- unsigned long ZeroSep );
- ULONG iniPutFloatA( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, LONG *Array,
- unsigned long Entries, unsigned long FltFormat, unsigned long IntLen,
- unsigned long FracLen, unsigned long ZeroSep );
- ULONG iniPutStrA( struct iniContext *ContextStr,
- struct iniContextItemLine *ContextItemLine, STRPTR *Array,
- unsigned long Entries );
- LONG iniStrToInt( STRPTR String, long Default );
- ULONG iniIntToStr( STRPTR Buffer, long Integer,
- unsigned long Format, unsigned long Len, unsigned long ZeroSep );
- LONG iniStrToFloat( STRPTR String, long Default );
- ULONG iniFloatToStr( STRPTR Buffer, long Float,
- unsigned long FltFormat, unsigned long IntLen, unsigned long FracLen,
- unsigned long ZeroSep );
-
- /* INI scan functions (search for contexts, context items) */
- struct iniContext *iniFindContext( struct iniFile *iniFile,
- STRPTR ContextName, unsigned long Flags );
- struct iniContextItemLine *iniFindItem( struct iniContext *ContextStr,
- STRPTR ContextItemName, unsigned long Flags );
-
- #endif /* CLIB_INI_PROTOS_H */
-