home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AmigActive 13
/
AACD13.ISO
/
AACD
/
Programming
/
ini_library
/
include
/
libraries
/
ini_lib.i
< prev
Wrap
Text File
|
2000-07-26
|
5KB
|
190 lines
IFND LIBRARIES_INI_LIB_I
LIBRARIES_INI_LIB_I SET 1
**
** $Filename: libraries/ini_lib.i $
** $Release : 31.0 $
**
**
**
** (C) Copyright 1996-98 by Basty/Seasons
** All Rights Reserved
**
IFND EXEC_TYPES_I
include "exec/types.i"
ENDC ; EXEC_TYPES_I
IFND EXEC_LISTS_I
include "exec/lists.i"
ENDC ; EXEC_LISTS_I
IFND EXEC_LIBRARIES_I
include "exec/libraries.i"
ENDC ; EXEC_LIBRARIES_I
IFND LIBRARIES_DOS_I
include "libraries/dos.i"
ENDC ; LIBRARIES_DOS_I
LIBINIT
LIBDEF _LVOiniAllocPMem
LIBDEF _LVOiniFreePMem
LIBDEF _LVOiniAllocNameStr
LIBDEF _LVOiniFreeNameStr
LIBDEF _LVOiniSetString
LIBDEF _LVOiniSetNameStr
LIBDEF _LVOiniOpenDefault
LIBDEF _LVOiniOpenFile
LIBDEF _LVOiniOpenFromFH
LIBDEF _LVOiniOpenMem
LIBDEF _LVOiniClose
LIBDEF _LVOiniSaveFile
LIBDEF _LVOiniSaveToFH
LIBDEF _LVOiniCreateContext
LIBDEF _LVOiniFreeContext
LIBDEF _LVOiniAddContext
LIBDEF _LVOiniRemContext
LIBDEF _LVOiniInsertContext
LIBDEF _LVOiniDeleteContext
LIBDEF _LVOiniCreateContextItem
LIBDEF _LVOiniFreeContextItem
LIBDEF _LVOiniAddContextItem
LIBDEF _LVOiniRemContextItem
LIBDEF _LVOiniInsertContextItem
LIBDEF _LVOiniDeleteContextItem
LIBDEF _LVOiniReadLong
LIBDEF _LVOiniReadFloat
LIBDEF _LVOiniReadStr
LIBDEF _LVOiniReadByteA
LIBDEF _LVOiniReadWordA
LIBDEF _LVOiniReadLongA
LIBDEF _LVOiniReadFloatA
LIBDEF _LVOiniReadStrA
LIBDEF _LVOiniWriteLong
LIBDEF _LVOiniWriteFloat
LIBDEF _LVOiniWriteStr
LIBDEF _LVOiniWriteByteA
LIBDEF _LVOiniWriteWordA
LIBDEF _LVOiniWriteLongA
LIBDEF _LVOiniWriteFloatA
LIBDEF _LVOiniWriteStrA
LIBDEF _LVOiniGetContextName
LIBDEF _LVOiniGetContextItem
LIBDEF _LVOiniGetContextItemData
LIBDEF _LVOiniGetContextItemDataA
LIBDEF _LVOiniCheckComment
LIBDEF _LVOiniGetNumArrays
LIBDEF _LVOiniGetArrayLine
LIBDEF _LVOiniGetArrayPos
LIBDEF _LVOiniGetLong
LIBDEF _LVOiniGetFloat
LIBDEF _LVOiniGetStr
LIBDEF _LVOiniGetByteA
LIBDEF _LVOiniGetWordA
LIBDEF _LVOiniGetLongA
LIBDEF _LVOiniGetFloatA
LIBDEF _LVOiniGetStrA
LIBDEF _LVOiniPutLong
LIBDEF _LVOiniPutFloat
LIBDEF _LVOiniPutStr
LIBDEF _LVOiniPutByteA
LIBDEF _LVOiniPutWordA
LIBDEF _LVOiniPutLongA
LIBDEF _LVOiniPutFloatA
LIBDEF _LVOiniPutStrA
LIBDEF _LVOiniStrToInt
LIBDEF _LVOiniIntToStr
LIBDEF _LVOiniStrToFloat
LIBDEF _LVOiniFloatToStr
LIBDEF _LVOiniFindContext
LIBDEF _LVOiniFindItem
STRUCTURE iniLibBase,LIB_SIZE
BPTR ini_SegList * Segment list
APTR ini_ExecBase * ExecBase
APTR ini_DOSBase * DOSBase
APTR ini_MemPool * Memory pool for iniAllocPMem()
APTR ini_MemSigSem * Memory pool signal semaphore
LABEL ini_SIZEOF
* Flags passable to iniReadxxx(), iniGetxxx() and iniFindxxx()
BITDEF INI,ContextCase,0 * If set, use case sensitive scan for
* Context names
BITDEF INI,ContextItemCase,1 * If set, use case sentitive scan for
* Context item names
* Format parameter of iniIntToStr()
INI_FORMAT_DEC EQU 0 * Use decimal with no precedor
INI_FORMAT_DEC_CHAR EQU 1 * Use decimal with # precedor
INI_FORMAT_HEX EQU 2 * Use hexadical with $ precedor
INI_FORMAT_HEX_0X EQU 3 * Use hexadical with 0x precedor
INI_FORMAT_BIN EQU 4 * Use binary with % precedor
INI_FORMAT_OCT EQU 5 * Use octal with & precedor
INI_FORMAT_YESNO EQU 6 * Use No for zero, Yes for all others
INI_FORMAT_YN EQU 7 * Use N for zero, Y for all others
INI_FORMAT_TRUEFALSE EQU 8 * Use False for zero, True for others
INI_FORMAT_ONOFF EQU 9 * Use Off for zero, On for others
INI_UNSIGNED EQU $80000000 * Add this to the others to get
* unsigned values
* Floating point format of iniStrToFloat() and iniFloatToStr()
* Upper word: Integer part.
* Lower word: 1/65536 of value.
* Example:
* $00048000 means 4.5 ($8000/$10000 = 0.5)
* $fffc0000 means -4.0 (if treated as signed)
* $fffc8000 means -3.5 (if treated as signed)
* Format parameter of iniFloatToStr()
INI_FLOAT_FORMAT_DEC EQU 0 * Use decimal with point separator
INI_FLOAT_UNSIGNED EQU $80000000 * Add this to the others to get
* unsigned values
* The following structure is for each file opened by iniOpenFile() or
* iniOpenMem().
STRUCTURE iniFile,0 * ini.library file handle
STRUCT inif_Context,MLH_SIZE * Linked list of the contexts.
STRUCT inif_PreLines,MLH_SIZE * Lines before the first context.
LABEL inif_SIZEOF
* The following structure is for each context in the .INI file.
STRUCTURE iniContext,MLN_SIZE * ini.library context chunk
STRUCT inic_Lines,MLH_SIZE * Lines belonging to this context
APTR inic_ContextLine * Context line
LABEL inic_SIZEOF
* The following structure is for each line in the .INI file.
STRUCTURE iniContextItemLine,MLN_SIZE * ini.library config line
* chunk
APTR inil_Line * Line contents (incl. CR/LF)
LABEL inil_SIZEOF
CALLINI MACRO
jsr _LVO\1(a6)
ENDM
CALLINIJ MACRO
jmp _LVO\1(a6)
ENDM
CALLINIB MACRO
move.l _INIBase,a6
CALLINI \1
ENDM
CALLINIBJ MACRO
move.l _INIBase,a6
CALLINIJ \1
ENDM
ININAME MACRO
dc.b 'ini.library',0
ENDM
ENDC ; LIBRARIES_INI_LIB_I