123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313 |
- /*
- * CDE - Common Desktop Environment
- *
- * Copyright (c) 1993-2012, The Open Group. All rights reserved.
- *
- * These libraries and programs are free software; you can
- * redistribute them and/or modify them under the terms of the GNU
- * Lesser General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * These libraries and programs are distributed in the hope that
- * they will be useful, but WITHOUT ANY WARRANTY; without even the
- * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU Lesser General Public License for more
- * details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with these libraries and programs; if not, write
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
- * Floor, Boston, MA 02110-1301 USA
- */
- /* $XConsortium: AccessSDLP.h /main/7 1995/12/18 16:30:11 cde-hp $ */
- /************************************<+>*************************************
- ****************************************************************************
- **
- ** File: AccessSDLP.h
- **
- ** Project: Run Time Project File Access
- **
- ** Description: Header file for Access.h
- **
- ** (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 Hewlett-Packard Company
- **
- ** (c) Copyright 1993, 1994 Hewlett-Packard Company
- ** (c) Copyright 1993, 1994 International Business Machines Corp.
- ** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
- ** (c) Copyright 1993, 1994 Novell, Inc.
- **
- **
- ****************************************************************************
- ************************************<+>*************************************/
- #ifndef _DtHelpAccessSDLP_h
- #define _DtHelpAccessSDLP_h
- #include "CanvasSegP.h"
- #include "SDLI.h"
- /****************************************************************************
- * Private Structure
- ****************************************************************************/
- /*
- * The following structure holds the sdl document specific information
- */
- typedef struct _sdlDocInfo {
- char *language;
- char *char_set;
- char *first_pg;
- char *doc_id;
- char *timestamp;
- char *sdldtd;
- } SDLDocInfo;
- /*
- * The following structure holds the id specific information
- */
- typedef struct _sdlIdInfo {
- SdlOption type;
- char *rssi;
- int rlevel;
- int offset;
- } SDLIdInfo;
- /*
- * The following structure holds the toss style specific information
- */
- typedef struct _sdlTossInfo {
- unsigned long enum_values;
- unsigned long num_values;
- unsigned long str1_values;
- unsigned long str2_values;
- enum SdlElement el_type;
- SdlOption clan;
- char *ssi;
- union
- {
- char *str;
- char *colj;
- char *enter;
- } str1;
- union
- {
- char *str;
- char *colw;
- char *exit;
- } str2;
- int rlevel;
- _DtHelpFontHints font_specs;
- } SDLTossInfo;
- /*
- * The following structure holds the entry or index specific strings
- */
- typedef struct _sdlEntryInfo {
- char *main;
- char *locs;
- char *syns;
- char *sort;
- } SDLEntryInfo;
- /*
- * The following structure holds loaded volumes. The fields of this
- * structure should not be accessed by any code outside of the volume
- * module.
- */
- typedef struct _sdlVolume {
- SDLDocInfo *sdl_info; /* A pointer to the SDL doc info */
- _DtCvSegment *toss; /* A pointer to the Table of Styles */
- /* and Semantics withing the volume */
- _DtCvSegment *loids; /* A pointer to the List of Ids */
- _DtCvSegment *index; /* A pointer to the List of Keywords */
- _DtCvSegment *title; /* A pointer to the document head */
- _DtCvSegment *snb; /* A pointer to the document's snb */
- _DtCvPointer client_data; /* data that must be used to free the title
- and snb */
- void (*destroy_region)(); /* The destroy region routine specified
- when the title was read */
- short minor_no; /* The minor number of the sdl version */
- short title_processed; /* If the title has already been searched for */
- } CESDLVolume;
- /****************************************************************************
- * Private Macros
- ****************************************************************************/
- /*********************/
- /* SDLDocInfo macros */
- /*********************/
- #ifndef _SdlDocInfoPtrCharSet
- #define _SdlDocInfoPtrCharSet(x) ((x)->char_set)
- #endif
- #ifndef _SdlDocInfoPtrDocId
- #define _SdlDocInfoPtrDocId(x) ((x)->doc_id)
- #endif
- #ifndef _SdlDocInfoPtrFirstPg
- #define _SdlDocInfoPtrFirstPg(x) ((x)->first_pg)
- #endif
- #ifndef _SdlDocInfoPtrLanguage
- #define _SdlDocInfoPtrLanguage(x) ((x)->language)
- #endif
- #ifndef _SdlDocInfoPtrSdlDtd
- #define _SdlDocInfoPtrSdlDtd(x) ((x)->sdldtd)
- #endif
- #ifndef _SdlDocInfoPtrStamp
- #define _SdlDocInfoPtrStamp(x) ((x)->timestamp)
- #endif
- /***********************/
- /* SDLEntryInfo macros */
- /***********************/
- #ifndef _SdlSegEntryInfo
- #define _SdlSegEntryInfo(x) ((FrmtPrivInfoPtr(x))->entry)
- #endif
- #ifndef _SdlSegToSdlEntryInfo
- #define _SdlSegToSdlEntryInfo(x) ((SDLEntryInfo *) _SdlSegEntryInfo(x))
- #endif
- /********************/
- /* SDLIdInfo macros */
- /********************/
- #ifndef _SdlIdInfoPtrOffset
- #define _SdlIdInfoPtrOffset(x) ((x)->offset)
- #endif
- #ifndef _SdlIdInfoPtrRlevel
- #define _SdlIdInfoPtrRlevel(x) ((x)->rlevel)
- #endif
- #ifndef _SdlIdInfoPtrRssi
- #define _SdlIdInfoPtrRssi(x) ((x)->rssi)
- #endif
- #ifndef _SdlIdInfoPtrType
- #define _SdlIdInfoPtrType(x) ((x)->type)
- #endif
- #ifndef _SdlSegToSdlIdInfoPtr
- #define _SdlSegToSdlIdInfoPtr(x) \
- ((SDLIdInfo *)((FrmtPrivInfoPtr(x))->id_info))
- #endif
- #ifndef _SdlSegToSdlIdInfoRssi
- #define _SdlSegToSdlIdInfoRssi(x) \
- (((SDLIdInfo *)((FrmtPrivInfoPtr(x))->id_info))->rssi)
- #endif
- #ifndef _SdlSegToSdlIdInfoType
- #define _SdlSegToSdlIdInfoType(x) \
- (((SDLIdInfo *)((FrmtPrivInfoPtr(x))->id_info))->type)
- #endif
- #ifndef _SdlSegToSdlIdInfoLevel
- #define _SdlSegToSdlIdInfoLevel(x) \
- (((SDLIdInfo *)((FrmtPrivInfoPtr(x))->id_info))->rlevel)
- #endif
- /**********************/
- /* SDLTossInfo macros */
- /**********************/
- #ifndef _SdlTossInfoPtrFlag1
- #define _SdlTossInfoPtrFlag1(x) ((x)->enum_values)
- #endif
- #ifndef _SdlTossInfoPtrFlag2
- #define _SdlTossInfoPtrFlag2(x) ((x)->num_values)
- #endif
- #ifndef _SdlTossInfoPtrFlag3
- #define _SdlTossInfoPtrFlag3(x) ((x)->str1_values)
- #endif
- #ifndef _SdlTossInfoPtrFlag4
- #define _SdlTossInfoPtrFlag4(x) ((x)->str2_values)
- #endif
- #ifndef _SdlTossInfoPtrEnter
- #define _SdlTossInfoPtrEnter(x) ((x)->str1.enter)
- #endif
- #ifndef _SdlTossInfoPtrExit
- #define _SdlTossInfoPtrExit(x) ((x)->str2.exit)
- #endif
- #ifndef _SdlTossInfoPtrColJ
- #define _SdlTossInfoPtrColJ(x) ((x)->str1.colj)
- #endif
- #ifndef _SdlTossInfoPtrColW
- #define _SdlTossInfoPtrColW(x) ((x)->str2.colw)
- #endif
- #ifndef _SdlTossInfoPtrRlevel
- #define _SdlTossInfoPtrRlevel(x) ((x)->rlevel)
- #endif
- #ifndef _SdlTossInfoPtrStr1
- #define _SdlTossInfoPtrStr1(x) ((x)->str1.str)
- #endif
- #ifndef _SdlTossInfoPtrStr2
- #define _SdlTossInfoPtrStr2(x) ((x)->str2.str)
- #endif
- #ifndef _SdlTossInfoPtrSsi
- #define _SdlTossInfoPtrSsi(x) ((x)->ssi)
- #endif
- #ifndef _SdlTossInfoPtrFontSpecs
- #define _SdlTossInfoPtrFontSpecs(x) ((x)->font_specs)
- #endif
- #ifndef _SdlTossInfoPtrClan
- #define _SdlTossInfoPtrClan(x) ((x)->clan)
- #endif
- #ifndef _SdlTossInfoPtrType
- #define _SdlTossInfoPtrType(x) ((x)->el_type)
- #endif
- #ifndef _SdlSegTossInfo
- #define _SdlSegTossInfo(x) ((FrmtPrivInfoPtr(x))->toss)
- #endif
- #ifndef _SdlSegPtrToTossInfo
- #define _SdlSegPtrToTossInfo(x) ((SDLTossInfo *) _SdlSegTossInfo(x))
- #endif
- #ifndef _SdlSegPtrToTossType
- #define _SdlSegPtrToTossType(x) ((_SdlSegPtrToTossInfo(x))->el_type)
- #endif
- /*****************/
- /* Volume macros */
- /*****************/
- #ifndef _SdlVolumeMinorNumber
- #define _SdlVolumeMinorNumber(x) ((x)->minor_no)
- #endif
- /*******************/
- /* Language macros */
- /*******************/
- #ifndef _SdlSegLangChar
- #define _SdlSegLangChar(x) ((FrmtPrivInfoPtr(x))->lang_char)
- #endif
- #ifndef _SdlSegPtrToLangChar
- #define _SdlSegPtrToLangChar(x) ((char **)_SdlSegLangChar(x))
- #endif
- #endif /* _DtHelpAccessSDLP_h */
|