1 /* apparam.h 2 * =========================================================================== 3 * 4 * PUBLIC DOMAIN NOTICE 5 * National Center for Biotechnology Information (NCBI) 6 * 7 * This software/database is a "United States Government Work" under the 8 * terms of the United States Copyright Act. It was written as part of 9 * the author's official duties as a United States Government employee and 10 * thus cannot be copyrighted. This software/database is freely available 11 * to the public for use. The National Library of Medicine and the U.S. 12 * Government do not place any restriction on its use or reproduction. 13 * We would, however, appreciate having the NCBI and the author cited in 14 * any work or product based on this material 15 * 16 * Although all reasonable efforts have been taken to ensure the accuracy 17 * and reliability of the software and data, the NLM and the U.S. 18 * Government do not and cannot warrant the performance or results that 19 * may be obtained by using this software or data. The NLM and the U.S. 20 * Government disclaim all warranties, express or implied, including 21 * warranties of performance, merchantability or fitness for any particular 22 * purpose. 23 * 24 * =========================================================================== 25 * 26 * File Name: apparam.h 27 * 28 * Author: Sergei Egorov 29 * 30 * Version Creation Date: 9/23/94 31 * 32 * $Revision: 6.0 $ 33 * 34 * File Description: 35 * 36 * Modifications: 37 * -------------------------------------------------------------------------- 38 * Date Name Description of modification 39 * ------- ---------- ----------------------------------------------------- 40 * 41 * 42 * ========================================================================== 43 */ 44 45 #ifndef _APPARAM_ 46 #define _APPARAM_ 47 48 #include <vibrant.h> 49 50 /* fuzzy logic here 8^) */ 51 typedef UIEnum UIFuzzy, PNTR UIFuzzyPtr; 52 #define FUZZY_DEFAULT -3 /* JK */ 53 #define FUZZY_VERY_SMALL -2 54 #define FUZZY_SMALL -1 55 #define FUZZY_MEDIUM 0 56 #define FUZZY_LARGE 1 57 #define FUZZY_VERY_LARGE 2 58 59 #define MAX_APS_BASE 30 60 #define MAX_APS_SECT 60 61 #define MAX_APS_VALUE 120 62 63 typedef struct apsect { 64 Char base [MAX_APS_BASE+1]; 65 Char sect [MAX_APS_SECT+1]; 66 } APSect, PNTR APSectPtr; 67 68 69 /* basic operations */ 70 extern Boolean APOpenSection (CharPtr file, CharPtr sect, APSectPtr sp); 71 extern void APForEachKey (APSectPtr sp, void (*proc) (CharPtr key)); 72 extern Boolean APDeleteSection (APSectPtr sp); /* delete subsections first! */ 73 extern Boolean APFindKey (APSectPtr sp, CharPtr key); 74 extern Boolean APDeleteKey (APSectPtr sp, CharPtr key); 75 extern Boolean APGetKeyValue (APSectPtr sp, CharPtr key, CharPtr PNTR pval); 76 extern Boolean APSetKeyValue (APSectPtr sp, CharPtr key, CharPtr val); 77 78 /* subsections */ 79 extern Boolean APCreateSubsection (APSectPtr sp, CharPtr ss, APSectPtr ssp); 80 extern Boolean APLookupSubsection (APSectPtr sp, CharPtr ss, APSectPtr ssp); 81 extern Boolean APDeleteSubsection (APSectPtr sp, CharPtr ss); 82 extern void APForEachSubsection (APSectPtr sp, void (*proc) (CharPtr ss)); 83 84 /* font dir hacks ??? */ 85 extern Boolean APFindEntry (APSectPtr sp, CharPtr ss, Int2Ptr pindex); 86 extern Boolean APEntrySubsection (APSectPtr sp, Int2 index, APSectPtr ssp); 87 88 /* save/restore */ 89 extern Boolean APArchiveBoolean (Boolean writep, APSectPtr sp, CharPtr key, BoolPtr pb); 90 extern Boolean APArchiveEnum (Boolean writep, APSectPtr sp, CharPtr key, UIEnumPtr pe); 91 extern Boolean APArchiveInt2 (Boolean writep, APSectPtr sp, CharPtr key, Int2Ptr pi2); 92 extern Boolean APArchiveUint2 (Boolean writep, APSectPtr sp, CharPtr key, Uint2Ptr pu2); 93 extern Boolean APArchiveInt4 (Boolean writep, APSectPtr sp, CharPtr key, Int4Ptr pi4); 94 extern Boolean APArchiveUint4 (Boolean writep, APSectPtr sp, CharPtr key, Uint4Ptr pu4); 95 extern Boolean APArchiveString (Boolean writep, APSectPtr sp, CharPtr key, CharPtr psb, Int2 bsz); 96 97 #define ARC_WRITE TRUE 98 #define ARC_READ FALSE 99 100 /* utils */ 101 extern CharPtr APArrayIndexKey(CharPtr key, Int4 i); 102 103 #endif /* ndef _APPARAM_ */ 104