home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / harbb30g.zip / INCLUDE / set.h < prev    next >
C/C++ Source or Header  |  1999-09-23  |  7KB  |  193 lines

  1. /*
  2.  * $Id: set.h,v 1.29 1999/09/23 09:13:26 vszel Exp $
  3.  */
  4.  
  5. /*
  6.  * Harbour Project source code:
  7.  * Header file for the Set API
  8.  *
  9.  * Copyright 1999 David G. Holm <dholm@jsd-llc.com>
  10.  * www - http://www.harbour-project.org
  11.  *
  12.  * This program is free software; you can redistribute it and/or modify
  13.  * it under the terms of the GNU General Public License as published by
  14.  * the Free Software Foundation; either version 2 of the License, or
  15.  * (at your option) any later version, with one exception:
  16.  *
  17.  * The exception is that if you link the Harbour Runtime Library (HRL)
  18.  * and/or the Harbour Virtual Machine (HVM) with other files to produce
  19.  * an executable, this does not by itself cause the resulting executable
  20.  * to be covered by the GNU General Public License. Your use of that
  21.  * executable is in no way restricted on account of linking the HRL
  22.  * and/or HVM code into it.
  23.  *
  24.  * This program is distributed in the hope that it will be useful,
  25.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  26.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  27.  * GNU General Public License for more details.
  28.  *
  29.  * You should have received a copy of the GNU General Public License
  30.  * along with this program; if not, write to the Free Software
  31.  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA (or visit
  32.  * their web site at http://www.gnu.org/).
  33.  *
  34.  */
  35.  
  36. /*
  37.  * ChangeLog:
  38.  *
  39.  * V 1.25   Paul Tucker                 Converted HB_SET_DEBUG back to Logical.
  40.  *                                      Clipper 5.3 docs are incorrect on this.
  41.  * V 1.19   Victor Szel                 #include <x> changed to #include "x".
  42.  * V 1.18   David G. Holm               Added INKEY_EXTENDED to allow some
  43.  *                                      platforms to select between normal
  44.  *                                      and extended key codes.
  45.  * V 1.17   Bruno Cantero               Added prototypes for hb_rddInitialize
  46.  *                                      and hb_rddRelease.
  47.  * V 1.16   David G. Holm               Added prototypes for hb_consoleRelease
  48.  *                                      and hb_consoleInitialize, because set
  49.  *                                      must be initialized before console and
  50.  *                                      released after console.
  51.  * V 1.15   David G. Holm               Changed hb_set.HB_SET_COLOR to be a
  52.  *                                      fixed 64 byte buffer. Added prototype
  53.  *                                      for hb_setColor()
  54.  * V 1.14   David G. Holm               Removed the obsolete hb_set_fixed
  55.  *                                      and HB_SETFIXED(), which I should
  56.  *                                      have done when I took HB_SETFIXED()
  57.  *                                      out of source/rtl/set.c in V 1.27.
  58.  * V 1.13   David G. Holm               Added my email address.
  59.  * V 1.12   David G. Holm               Added copyright and license header,
  60.  *                                      along with a complete version history.
  61.  * V 1.11   David G. Holm               Added hb_set_extrahan.
  62.  * V 1.10   Victor Szel                 Renamed InitializeSets() to
  63.  *                                      hb_setInitialize() and renamed
  64.  * V 1.9    Victor Szel                 ReleaseSets() to hb_setRelease().
  65.  * V 1.8    David G. Holm               Changed HB_SET_DEBUG to numeric.
  66.  * V 1.7    Gonzalo A. Diethelm         Made the #include guard ANSI compliant.
  67.  * V 1.6    Gonzalo A. Diethelm         Ensured that all Harbour functions
  68.  *                                      are declared as HB_FUNCTION( void );
  69.  * V 1.5    David G. Holm               Added hb_set_althan & hb_set_printhan.
  70.  * V 1.4    David G. Holm               Added hb_set_fixed & HB_SET_FIXED().
  71.  * V 1.3    David G. Holm               Changed __SETCENTURY to HB_SETCENTURY.
  72.  *                                      Changed all _SET_name to HB_SET_name
  73.  *                                      Changed the name of the function that
  74.  *                                      initializes sets to InitializeSets().
  75.  * V 1.2    Gonzalo A. Diethelm         Added comment with CVS Id keyword.
  76.  * V 1.1    Antonio Linares             Committed to CVS.
  77.  * V 1.0    David G. Holm               Initial version.
  78.  *
  79.  */
  80.  
  81. #ifndef HB_SET_H_
  82. #define HB_SET_H_
  83.  
  84. #include "hbdefs.h"
  85. #include "filesys.h"
  86. #include "setcurs.h"
  87. #include "inkey.h"
  88.  
  89. typedef enum
  90. {
  91.    HB_SET_INVALID_      = 0,
  92.  
  93.    HB_SET_EXACT         = 1,
  94.    HB_SET_FIXED         = 2,
  95.    HB_SET_DECIMALS      = 3,
  96.    HB_SET_DATEFORMAT    = 4,
  97.    HB_SET_EPOCH         = 5,
  98.    HB_SET_PATH          = 6,
  99.    HB_SET_DEFAULT       = 7,
  100.  
  101.    HB_SET_EXCLUSIVE     = 8,
  102.    HB_SET_SOFTSEEK      = 9,
  103.    HB_SET_UNIQUE        = 10,
  104.    HB_SET_DELETED       = 11,
  105.  
  106.    HB_SET_CANCEL        = 12,
  107.    HB_SET_DEBUG         = 13,
  108.    HB_SET_TYPEAHEAD     = 14,
  109.  
  110.    HB_SET_COLOR         = 15,
  111.    HB_SET_CURSOR        = 16,
  112.    HB_SET_CONSOLE       = 17,
  113.    HB_SET_ALTERNATE     = 18,
  114.    HB_SET_ALTFILE       = 19,
  115.    HB_SET_DEVICE        = 20,
  116.    HB_SET_EXTRA         = 21,
  117.    HB_SET_EXTRAFILE     = 22,
  118.    HB_SET_PRINTER       = 23,
  119.    HB_SET_PRINTFILE     = 24,
  120.    HB_SET_MARGIN        = 25,
  121.  
  122.    HB_SET_BELL          = 26,
  123.    HB_SET_CONFIRM       = 27,
  124.    HB_SET_ESCAPE        = 28,
  125.    HB_SET_INSERT        = 29,
  126.    HB_SET_EXIT          = 30,
  127.    HB_SET_INTENSITY     = 31,
  128.    HB_SET_SCOREBOARD    = 32,
  129.    HB_SET_DELIMITERS    = 33,
  130.    HB_SET_DELIMCHARS    = 34,
  131.  
  132.    HB_SET_WRAP          = 35,
  133.    HB_SET_MESSAGE       = 36,
  134.    HB_SET_MCENTER       = 37,
  135.    HB_SET_SCROLLBREAK   = 38,
  136.  
  137.    HB_SET_EVENTMASK     = 39
  138. } HB_set_enum;
  139.  
  140. typedef struct
  141. {
  142.    BOOL   HB_SET_EXACT;
  143.    BOOL   HB_SET_FIXED;
  144.    int    HB_SET_DECIMALS;
  145.    char * HB_SET_DATEFORMAT;
  146.    int    HB_SET_EPOCH;
  147.    char * HB_SET_PATH;
  148.    char * HB_SET_DEFAULT;
  149.    BOOL   HB_SET_EXCLUSIVE;
  150.    BOOL   HB_SET_SOFTSEEK;
  151.    BOOL   HB_SET_UNIQUE;
  152.    BOOL   HB_SET_DELETED;
  153.    BOOL   HB_SET_CANCEL;
  154.    BOOL   HB_SET_DEBUG;
  155.    int    HB_SET_TYPEAHEAD;
  156.    char   HB_SET_COLOR[ 64 ];
  157.    HB_cursor_enum HB_SET_CURSOR;
  158.    BOOL   HB_SET_CONSOLE;
  159.    BOOL   HB_SET_ALTERNATE;
  160.    char * HB_SET_ALTFILE;
  161.    char * HB_SET_DEVICE;
  162.    BOOL   HB_SET_EXTRA;
  163.    char * HB_SET_EXTRAFILE;
  164.    BOOL   HB_SET_PRINTER;
  165.    char * HB_SET_PRINTFILE;
  166.    int    HB_SET_MARGIN;
  167.    BOOL   HB_SET_BELL;
  168.    BOOL   HB_SET_CONFIRM;
  169.    BOOL   HB_SET_ESCAPE;
  170.    BOOL   HB_SET_INSERT;
  171.    BOOL   HB_SET_EXIT;
  172.    BOOL   HB_SET_INTENSITY;
  173.    BOOL   HB_SET_SCOREBOARD;
  174.    char * HB_SET_DELIMCHARS;
  175.    BOOL   HB_SET_DELIMITERS;
  176.    BOOL   HB_SET_WRAP;
  177.    int    HB_SET_MESSAGE;
  178.    BOOL   HB_SET_MCENTER;
  179.    BOOL   HB_SET_SCROLLBREAK;   /* QUESTION: What does this do ? */
  180.    HB_inkey_enum HB_SET_EVENTMASK;
  181. }  HB_set_struct;
  182.  
  183. extern HB_set_struct hb_set;
  184. extern BOOL    hb_set_century;
  185. extern FHANDLE hb_set_althan;
  186. extern FHANDLE hb_set_extrahan;
  187. extern FHANDLE hb_set_printhan;
  188.  
  189. extern void hb_setInitialize( void );
  190. extern void hb_setRelease( void );
  191.  
  192. #endif /* HB_SET_H_ */
  193.