home *** CD-ROM | disk | FTP | other *** search
- 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
-