Initial import of the CDE 2.1.30 sources from the Open Group.
[oweals/cde.git] / cde / lib / DtHelp / AccessP.h
1 /* $XConsortium: AccessP.h /main/5 1995/12/18 16:30:01 cde-hp $ */
2 /************************************<+>*************************************
3  ****************************************************************************
4  **
5  **   File:        AccessP.h
6  **
7  **   Project:     Run Time Project File Access
8  **
9  **  
10  **   Description: Private header file for Access.h
11  **
12  **  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 Hewlett-Packard Company
13  **
14  **  (c) Copyright 1993, 1994 Hewlett-Packard Company
15  **  (c) Copyright 1993, 1994 International Business Machines Corp.
16  **  (c) Copyright 1993, 1994 Sun Microsystems, Inc.
17  **  (c) Copyright 1993, 1994 Novell, Inc.
18  **
19  **
20  ****************************************************************************
21  ************************************<+>*************************************/
22 #ifndef _DtAccessP_h
23 #define _DtAccessP_h
24
25 #include <sys/stat.h>
26 typedef void*   SdlVolumeHandle;
27 typedef void*   CcdfVolumeHandle;
28
29 typedef union _dthelpVolumes {
30         SdlVolumeHandle sdl_vol;
31         CcdfVolumeHandle ccdf_vol;
32 } DtHelpVols;
33
34 /*
35  * The following structure holds loaded volumes.  The fields of this 
36  * structure should not be accessed by any code outside of the volume
37  * module.
38  */
39 struct _DtHelpVolumeRec {
40     short       sdl_flag;       /* The type of volume */
41     char *volFile;              /* The name of the volume file in the */
42                                 /* form it was passed to _DtVolumeOpen. */
43
44     char **keywords;            /* A pointer to a string array */
45                                 /* containing all of the keywords in */
46                                 /* sorted order.  This field is not loaded */
47                                 /* until it is needed. */
48
49     char ***keywordTopics;      /* A pointer to an array of string */
50                                 /* arrays.  Each string array specifies */
51                                 /* the list of topics which contain the */
52                                 /* corresponding keyword.  This field is  */
53                                 /* not loaded until it is needed. */
54
55     DtHelpVols vols;            /* Handles to format specific volume info */
56     int openCount;              /* A count of the number of times this */
57                                 /* volume has been opened. */
58
59     time_t check_time;          /* Time this volume was last modified */
60     struct _DtHelpVolumeRec *nextVol;
61                                 /* A pointer to the next volume, used to */
62                                 /* chain all of the open volumes together. */
63 };
64
65 typedef struct _DtHelpVolumeRec *_DtHelpVolume;
66
67 #endif /* _DtAccessP_h */