home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / CSAPE32.ARJ / INCLUDE / WINSFILE.H < prev    next >
C/C++ Source or Header  |  1990-12-03  |  3KB  |  88 lines

  1. /*
  2.     winsfile.h
  3.  
  4.     % window sfile header (public stuff)
  5.  
  6.     OWL 1.2
  7.     Copyright (c) 1986-1990 by Oakland Group, Inc.
  8.     ALL RIGHTS RESERVED.
  9.  
  10.     Revision History:
  11.     ---------------------
  12.      8/11/89 jdc    split from sfile.h
  13.      3/28/90 jmd    ansi-fied
  14.      4/15/90 jdc    added sfile_ReadOnly, preened
  15.      6/06/90 jdc    changed SFILE_COMMENT to CSVER 3.2
  16.      8/10/90 jdc    added sfile_Contains()
  17.      8/12/90 jdc    added opendata arg to sf_loadobj
  18.      8/13/90 jdc    added loaddefault_classfunc
  19.      9/26/90 jmd    added load/save text functions
  20.     10/28/90 jdc    added bfile_GetID macro
  21.     12/03/90 jdc    changed readonly's to onlyread's
  22. */
  23.  
  24. #include "bfdecl.h"
  25.  
  26.  
  27. #define FSYM_NULLSTR                ""
  28. #define    fsym_NullCheck(name)        (((name) == NULL) ? FSYM_NULLSTR : (name))
  29.  
  30. #define ID_LNFWIN        801
  31.  
  32. #define SFILE_BSIZE     500
  33. #define SFILE_BUFLEN    1000
  34. #define    SFILE_COMMENT    "CSVER 3.2"
  35.  
  36. typedef struct sfile_struct {
  37.     
  38.     bfile_type         bfile;
  39.     oslist_type        oslist_array[TOT_FSYM_COUNT];
  40.     unsigned int    oslist_owner:1;
  41.     unsigned int    alloc:1;    /* for sed data allocation */
  42.  
  43.     char            buf[SFILE_BUFLEN + 1];
  44.  
  45. } *sfile_type;
  46.  
  47. /* -------------------------------------------------------------------------- */
  48. /* function prototypes */
  49.  
  50. /* OBJLOAD.C (in the c-scape library) */
  51. OEXTERN class_fptr loaddefault_classfunc;
  52.  
  53. extern obj_type sfile_LoadObj(sfile_type sfile, char *name, VOID *opendata);
  54. extern obj_type sf_loadobj(sfile_type sfile, char *name, VOID *opendata);
  55. extern boolean  sfile_SaveObj(sfile_type sfile, obj_type obj, char *name);
  56. extern boolean  sf_saveobj(sfile_type sfile, obj_type obj);
  57.  
  58. /* SFILE.C (in the c-scape library) */
  59. extern sfile_type sf_open(char *name, fsyminit_struct *fsyminit_list, oslist_type *oslist_array, char *comment, boolean onlyread);
  60. extern void        sfile_Close(sfile_type sfile);
  61.  
  62. /* WINSAVE.C */
  63. extern boolean    sfile_SaveComment(sfile_type sfile, char *comment);
  64. extern char       *strnewlclip(char *s);
  65.  
  66. /* SFILTEXT.C */
  67. extern char   *sfile_LoadText(sfile_type sfile, char *name);
  68. extern boolean sfile_SaveText(sfile_type sfile, char *name, char *text);
  69.  
  70. /* -------------------------------------------------------------------------- */
  71. /* macros */
  72.  
  73. #define sfile_Open(name, fsyminit)        sf_open(name, fsyminit, NULL, SFILE_COMMENT, FALSE)
  74. #define sfile_ReadOnly(name, fsyminit)    sf_open(name, fsyminit, NULL, SFILE_COMMENT, TRUE)
  75.  
  76. #define sfile_LoadComment(sf, b, blen)    bf_gets(sf->bfile, b, blen, '\0')
  77.  
  78. #define sfile_Find(sf, name, type)    bfile_Find((sf)->bfile, name, type)
  79.  
  80. #define sfile_GetDirList(sf)        bfile_GetDirList((sf)->bfile)
  81. #define sfile_GetDirSize(sf)        bfile_GetDirSize((sf)->bfile)
  82. #define sfile_GetDirAlpha(sf, a)    bfile_GetDirAlpha((sf)->bfile, a)
  83.  
  84. #define sfile_GetID(sf, h)             bfile_GetID((sf)->bfile, h)
  85. #define sfile_Contains(sf, name)    \
  86.     ((bfile_FindDirHandle((sf)->bfile, name) != OSLIST_BADNAME) ? TRUE:FALSE)
  87.  
  88.