430 lines
13 KiB
C
430 lines
13 KiB
C
/*
|
|
* 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 librararies and programs; if not, write
|
|
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
* Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
#ifdef DOC
|
|
/*===================================================================
|
|
$FILEBEG$: HelpPrintI.h
|
|
$COMPONENT$: dthelpprint
|
|
$PROJECT$: Cde1
|
|
$SYSTEM$: HPUX 9.0; AIX 3.2; SunOS 5.3
|
|
$REVISION$: $TOG: HelpPrintI.h /main/6 1998/04/06 13:16:19 mgreess $
|
|
$CHGLOG$:
|
|
$COPYRIGHT$:
|
|
(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 Unix System Labs, Inc., a subsidiary of Novell, Inc.
|
|
==$END$==============================================================*/
|
|
#endif /*DOC*/
|
|
|
|
#ifndef HELPPRINTI_H
|
|
#define HELPPRINTI_H
|
|
|
|
#define TMPFILE_PREFIX "phlp" /* max len of 4 chars */
|
|
#define TMPFILE_SUFFIX ".txt" /* max len of 4 chars */
|
|
|
|
#define MAX_COMMAND_LENGTH 5120 /* max system can handle */
|
|
|
|
/* Message catalog support */
|
|
#ifndef NO_MESSAGE_CATALOG
|
|
# define _DTGETMESSAGE(set, number, str) _DtHPrGetMessage(set, number, str)
|
|
#else
|
|
# define _DTGETMESSAGE(set, number, str) str
|
|
#endif
|
|
|
|
/* These are for Xt emulation */
|
|
#if 0
|
|
typedef char * XtPointer;
|
|
typedef char * String;
|
|
typedef int Cardinal;
|
|
typedef char Boolean;
|
|
|
|
# define XtOffset(p_type,field) ((unsigned int)&(((p_type)NULL)->field))
|
|
# define XtNumber(arr) ((Cardinal) (sizeof(arr) / sizeof(arr[0])))
|
|
#else
|
|
# include <X11/Intrinsic.h>
|
|
#endif
|
|
|
|
#define XtRefOffset(struct_base,field_offset) \
|
|
((XtPointer *)(((unsigned long)struct_base) + (field_offset)))
|
|
|
|
|
|
typedef struct __DtHPrHeadFoot
|
|
{
|
|
String evenHeader; /* even-page header when printing volume */
|
|
String oddHeader; /* odd-page header when printing volume */
|
|
String evenFooter; /* even-page footer when printing volume */
|
|
String oddFooter; /* odd-page footer when printing volume */
|
|
} _DtHPrHeadFoot;
|
|
|
|
/* This is the list of all options that controls
|
|
the operation of dthelprint. */
|
|
typedef struct __DtHPrOptions {
|
|
String display;
|
|
String printer;
|
|
String copies;
|
|
String outputFile;
|
|
String paperSize;
|
|
String rsrcname;
|
|
String rsrcclass;
|
|
String helpType;
|
|
String helpVolume;
|
|
String locationId;
|
|
String allTopics;
|
|
String subTopics;
|
|
String oneTopic;
|
|
String toc; /* table of contents of a help volume */
|
|
String index; /* index of a help volume */
|
|
String frontMatter; /* frontMatter of a help volume */
|
|
_DtHPrHeadFoot tocHF; /* header / footer of table of contents */
|
|
_DtHPrHeadFoot bodyHF; /* header / footer of body */
|
|
_DtHPrHeadFoot indexHF; /* header / footer of index */
|
|
String manPage;
|
|
String stringData;
|
|
String helpFile;
|
|
String topicTitle;
|
|
String echoCommand;
|
|
String echoArgs;
|
|
String foldCommand;
|
|
String foldArgs;
|
|
String prCommand;
|
|
String prArgs;
|
|
String prOffsetArg;
|
|
String manCommand;
|
|
String manArgs;
|
|
String redirectCmdAndArgs;
|
|
String lpCommand;
|
|
String shCommand;
|
|
String iconvCmdAndArgs;
|
|
String debugHelpPrint;
|
|
char * programName; /* value from argv[0] */
|
|
int colsWidth; /* full width of page */
|
|
int rowsHeight; /* full height of page */
|
|
int colsLeftMargin; /* blank cols to leave on left */
|
|
int colsRightMargin; /* blank cols to leave on right */
|
|
int rowsTopMargin; /* blank rows to leave on top */
|
|
int rowsBottomMargin; /* blank rows to leave on bottom */
|
|
int colsTextWidth; /* width - margins */
|
|
int rowsTextHeight; /* height - margins */
|
|
int colsAdjLeftMargin; /* minus cols that printer cant print on */
|
|
int colsAdjRightMargin; /* minus cols that printer cant print on */
|
|
int rowsAdjTopMargin; /* minus rows that printer cant print on */
|
|
int rowsAdjBottomMargin; /* minus rows that printer cant print on */
|
|
} _DtHPrOptions, * _DtHPrOptionsPtr;
|
|
|
|
|
|
/* application name and class */
|
|
#ifdef RASTER_PRINT
|
|
#define HELPPRINT_APPLICATION_NAME "dthelpprintrst"
|
|
#define HELPPRINT_APPLICATION_CLASS "Dthelpprintrst"
|
|
#else
|
|
#define HELPPRINT_APPLICATION_NAME "dthelpprint"
|
|
#define HELPPRINT_APPLICATION_CLASS "Dthelpprint"
|
|
#endif
|
|
|
|
/* These constants are used throughout dthelpprint to specify
|
|
command line args, resources, and arg and resource values
|
|
AC: arg class
|
|
AN: arg name
|
|
RC: rsrc class
|
|
RN: rsrc name
|
|
RV: rsrc value
|
|
*/
|
|
#define RN_appname "application.name"
|
|
#define RC_appname "Application.Name"
|
|
#define RN_appclass "application.class"
|
|
#define RC_appclass "Application.Class"
|
|
|
|
#define AN_display "-display"
|
|
#define AC_display "-Display"
|
|
#define RN_display ".display"
|
|
#define RC_display ".Display"
|
|
|
|
#define AN_printer "-printer"
|
|
#define AC_printer "-Printer"
|
|
#define RN_printer ".printer"
|
|
#define RC_printer ".Printer"
|
|
|
|
#define AN_copies "-copies"
|
|
#define AC_copies "-Copies"
|
|
#define RN_copies ".copies"
|
|
#define RC_copies ".Copies"
|
|
|
|
#define AN_outputFile "-outputFile"
|
|
#define AC_outputFile "-OutputFile"
|
|
#define RN_outputFile ".outputFile"
|
|
#define RC_outputFile ".OutputFile"
|
|
|
|
#define AN_paperSize "-paperSize"
|
|
#define AC_paperSize "-PaperSize"
|
|
#define RN_paperSize ".paperSize"
|
|
#define RC_paperSize ".PaperSize"
|
|
|
|
#define AN_xrm "-xrm"
|
|
|
|
#define AN_rsrcname "-name"
|
|
#define AC_rsrcname "-Name"
|
|
#define RN_rsrcname ".name"
|
|
#define RC_rsrcname ".Name"
|
|
|
|
#define AN_rsrcclass "-class"
|
|
#define AC_rsrcclass "-Class"
|
|
#define RN_rsrcclass ".class"
|
|
#define RC_rsrcclass ".Class"
|
|
|
|
#define AN_helpType "-helpType"
|
|
#define RN_helpType ".helpType"
|
|
#define RC_helpType ".HelpType"
|
|
|
|
#define AN_helpVolume "-helpVolume"
|
|
#define RN_helpVolume ".helpVolume"
|
|
#define RC_helpVolume ".HelpVolume"
|
|
|
|
#define AN_locationId "-locationId"
|
|
#define RN_locationId ".locationId"
|
|
#define RC_locationId ".LocationId"
|
|
|
|
#define AN_toc "-toc"
|
|
#define RN_toc ".toc"
|
|
#define RC_toc ".Toc"
|
|
|
|
#define AN_index "-index"
|
|
#define RN_index ".index"
|
|
#define RC_index ".Index"
|
|
|
|
#define AN_frontMatter "-frontMatter"
|
|
#define RN_frontMatter ".frontMatter"
|
|
#define RC_frontMatter ".FrontMatter"
|
|
|
|
#define AN_allTopics "-allTopics"
|
|
#define RN_allTopics ".allTopics"
|
|
#define RC_allTopics ".AllTopics"
|
|
|
|
#define AN_recurse "-R" /* VUE 3.0 helpprint name for -subTopics */
|
|
#define RN_recurse "-recurse" /* VUE 3.0 helpprint name for .subTopics */
|
|
#define RC_recurse "-Recurse" /* VUE 3.0 helpprint name for .SubTopics */
|
|
|
|
#define AN_subTopics "-subTopics"
|
|
#define RN_subTopics ".subTopics"
|
|
#define RC_subTopics ".SubTopics"
|
|
|
|
#define AN_oneTopic "-oneTopic"
|
|
#define RN_oneTopic ".oneTopic"
|
|
#define RC_oneTopic ".OneTopic"
|
|
|
|
#define AN_manPage "-manPage"
|
|
#define RN_manPage ".manPage"
|
|
#define RC_manPage ".ManPage"
|
|
|
|
#define AN_stringData "-stringData"
|
|
#define RN_stringData ".stringData"
|
|
#define RC_stringData ".StringData"
|
|
|
|
#define AN_helpFile "-helpFile"
|
|
#define RN_helpFile ".helpFile"
|
|
#define RC_helpFile ".HelpFile"
|
|
|
|
#define AN_topicTitle "-topicTitle"
|
|
#define AC_topicTitle "-TopicTitle"
|
|
#define RN_topicTitle ".topicTitle"
|
|
#define RC_topicTitle ".TopicTitle"
|
|
|
|
/* page header and footer */
|
|
#define AN_evenTocFooter "-evenTocFooter"
|
|
#define RN_evenTocFooter ".evenTocFooter"
|
|
#define RC_evenTocFooter ".EvenTocFooter"
|
|
|
|
#define AN_oddTocFooter "-oddTocFooter"
|
|
#define RN_oddTocFooter ".oddTocFooter"
|
|
#define RC_oddTocFooter ".OddTocFooter"
|
|
|
|
#define AN_evenTocHeader "-evenTocHeader"
|
|
#define RN_evenTocHeader ".evenTocHeader"
|
|
#define RC_evenTocHeader ".EvenTocHeader"
|
|
|
|
#define AN_oddTocHeader "-oddTocHeader"
|
|
#define RN_oddTocHeader ".oddTocHeader"
|
|
#define RC_oddTocHeader ".OddTocHeader"
|
|
|
|
#define AN_evenBodyFooter "-evenBodyFooter"
|
|
#define RN_evenBodyFooter ".evenBodyFooter"
|
|
#define RC_evenBodyFooter ".EvenBodyFooter"
|
|
|
|
#define AN_oddBodyFooter "-oddBodyFooter"
|
|
#define RN_oddBodyFooter ".oddBodyFooter"
|
|
#define RC_oddBodyFooter ".OddBodyFooter"
|
|
|
|
#define AN_evenBodyHeader "-evenBodyHeader"
|
|
#define RN_evenBodyHeader ".evenBodyHeader"
|
|
#define RC_evenBodyHeader ".EvenBodyHeader"
|
|
|
|
#define AN_oddBodyHeader "-oddBodyHeader"
|
|
#define RN_oddBodyHeader ".oddBodyHeader"
|
|
#define RC_oddBodyHeader ".OddBodyHeader"
|
|
|
|
#define AN_evenIndexFooter "-evenIndexFooter"
|
|
#define RN_evenIndexFooter ".evenIndexFooter"
|
|
#define RC_evenIndexFooter ".EvenIndexFooter"
|
|
|
|
#define AN_oddIndexFooter "-oddIndexFooter"
|
|
#define RN_oddIndexFooter ".oddIndexFooter"
|
|
#define RC_oddIndexFooter ".OddIndexFooter"
|
|
|
|
#define AN_evenIndexHeader "-evenIndexHeader"
|
|
#define RN_evenIndexHeader ".evenIndexHeader"
|
|
#define RC_evenIndexHeader ".EvenIndexHeader"
|
|
|
|
#define AN_oddIndexHeader "-oddIndexHeader"
|
|
#define RN_oddIndexHeader ".oddIndexHeader"
|
|
#define RC_oddIndexHeader ".OddIndexHeader"
|
|
|
|
/* star resource matches all comers */
|
|
#define STAR_RN_topicTitle "*topicTitle"
|
|
#define STAR_RC_topicTitle "*TopicTitle"
|
|
|
|
/* print activity control */
|
|
#define RN_echoCommand ".echoCommand"
|
|
#define RC_echoCommand ".EchoCommand"
|
|
|
|
#define RN_echoArgs ".echoArgs"
|
|
#define RC_echoArgs ".EchoArgs"
|
|
|
|
#define RN_foldCommand ".foldCommand"
|
|
#define RC_foldCommand ".FoldCommand"
|
|
|
|
#define RN_foldArgs ".foldArgs"
|
|
#define RC_foldArgs ".FoldArgs"
|
|
|
|
#define RN_prCommand ".prCommand"
|
|
#define RC_prCommand ".PrCommand"
|
|
|
|
#define RN_prArgs ".prArgs"
|
|
#define RC_prArgs ".PrArgs"
|
|
|
|
#define RN_prOffsetArg ".prOffsetArg"
|
|
#define RC_prOffsetArg ".PrOffsetArg"
|
|
|
|
#define RN_manCommand ".manCommand"
|
|
#define RC_manCommand ".ManCommand"
|
|
|
|
#define RN_manArgs ".manArgs"
|
|
#define RC_manArgs ".ManArgs"
|
|
|
|
#define RN_redirectCmdAndArgs ".redirectCmdAndArgs"
|
|
#define RC_redirectCmdAndArgs ".RedirectCmdAndArgs"
|
|
|
|
#define RN_lpCommand ".lpCommand"
|
|
#define RC_lpCommand ".LpCommand"
|
|
|
|
#define RN_shCommand ".shCommand"
|
|
#define RC_shCommand ".ShCommand"
|
|
|
|
#define RN_iconvCmdAndArgs ".iconvCmdAndArgs"
|
|
#define RC_iconvCmdAndArgs ".IconvCmdAndArgs"
|
|
|
|
/* resources */
|
|
#define RN_colsWidth ".colsWidth"
|
|
#define RC_colsWidth ".ColsWidth"
|
|
|
|
#define RN_rowsHeight ".rowsHeight"
|
|
#define RC_rowsHeight ".RowsHeight"
|
|
|
|
#define RN_colsLeftMargin ".colsLeftMargin"
|
|
#define RC_colsLeftMargin ".ColsLeftMargin"
|
|
|
|
#define RN_colsRightMargin ".colsRightMargin"
|
|
#define RC_colsRightMargin ".ColsRightMargin"
|
|
|
|
#define RN_rowsTopMargin ".rowsTopMargin"
|
|
#define RC_rowsTopMargin ".RowsTopMargin"
|
|
|
|
#define RN_rowsBottomMargin ".rowsBottomMargin"
|
|
#define RC_rowsBottomMargin ".RowsBottomMargin"
|
|
|
|
/* turn on to debug */
|
|
#define RN_debugHelpPrint ".debugHelpPrint"
|
|
#define RC_debugHelpPrint ".DebugHelpPrint"
|
|
|
|
/* to determine if debug is on */
|
|
#define STAR_RN_debugHelpPrint "*debugHelpPrint"
|
|
#define STAR_RC_debugHelpPrint "*DebugHelpPrint"
|
|
|
|
/* not currently used */
|
|
#define RN_leading ".leading"
|
|
#define RC_leading ".Leading"
|
|
|
|
#define STAR_RN_helpColorUse "*helpColorUse"
|
|
|
|
|
|
/* resource values */
|
|
#define RV_letter "help_papersize_letter"
|
|
#define RV_a4 "help_papersize_a4"
|
|
#define RV_b5 "help_papersize_b5"
|
|
#define RV_legal "help_papersize_legal"
|
|
#define RV_executive "help_papersize_executive"
|
|
|
|
#define RV_bitonal "bitonal"
|
|
|
|
|
|
/*========= Prototypes ===========*/
|
|
|
|
int _DtHPrPrintStringData(
|
|
Display *dpy,
|
|
_DtHPrOptions * options);
|
|
int _DtHPrPrintDynamicStringData(
|
|
Display *dpy,
|
|
_DtHPrOptions * options);
|
|
int _DtHPrPrintManPage(
|
|
Display *dpy,
|
|
_DtHPrOptions * options);
|
|
int _DtHPrPrintHelpFile(
|
|
Display *dpy,
|
|
_DtHPrOptions * options);
|
|
int _DtHPrPrintHelpTopic(
|
|
Display * dpy,
|
|
_DtHPrOptions * options);
|
|
void _DtHPrBuildResourceDb(
|
|
int * argc,
|
|
char * * argv,
|
|
XrmDatabase * appDB,
|
|
Display * * pDpy);
|
|
void _DtHPrGetResources(
|
|
XrmDatabase db,
|
|
_DtHPrOptions * options);
|
|
char * _DtHPrCreateTmpFile(
|
|
char * prefix,
|
|
char * suffix);
|
|
int _DtHPrGenFileOrPrint(
|
|
_DtHPrOptions * options,
|
|
char * userfile,
|
|
char * printCommand);
|
|
void _DtHPrGetPrOffsetArg(
|
|
_DtHPrOptions * options,
|
|
char * argStr);
|
|
char * _DtHPrGetMessage(
|
|
int set,
|
|
int n,
|
|
char *s);
|
|
|
|
#endif /* DTHELPRPINTP_H */
|
|
|