306 lines
8.2 KiB
C
306 lines
8.2 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 libraries and programs; if not, write
|
|
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
* Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
/* $XConsortium: Mmdb.h /main/4 1996/05/29 13:01:24 rcs $ */
|
|
/*
|
|
* (c) Copyright 1996 Digital Equipment Corporation.
|
|
* (c) Copyright 1996 Hewlett-Packard Company.
|
|
* (c) Copyright 1996 International Business Machines Corp.
|
|
* (c) Copyright 1996 Sun Microsystems, Inc.
|
|
* (c) Copyright 1996 Novell, Inc.
|
|
* (c) Copyright 1994, 1995, 1996 FUJITSU LIMITED.
|
|
* (c) Copyright 1996 Hitachi.
|
|
*/
|
|
|
|
#ifndef _MMDB_C_API_H
|
|
#define _MMDB_C_API_H
|
|
|
|
|
|
|
|
#define DtMmdb_PROTO1(x) (x)
|
|
#define DtMmdb_PROTO2(x,y) (x,y)
|
|
#define DtMmdb_PROTO3(x,y,z) (x,y,z)
|
|
|
|
#undef _not_defined
|
|
#ifdef _not_defined
|
|
#ifdef __cplusplus
|
|
#else
|
|
#define DtMmdb_PROTO1(x) ()
|
|
#define DtMmdb_PROTO2(x,y) ()
|
|
#define DtMmdb_PROTO3(x,y,z) ()
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef unsigned int DtMmdbBool;
|
|
#define DtMmdbTrue 1
|
|
#define DtMmdbFalse 0
|
|
|
|
/*****************************************************/
|
|
/* info lib structure */
|
|
/*****************************************************/
|
|
typedef struct _DtMmdbInfoLibInfo
|
|
{
|
|
const char* path;
|
|
const char* name;
|
|
unsigned int num_bookcases;
|
|
} DtMmdbInfoLibInfo;
|
|
|
|
/*****************************************************/
|
|
/* basecase structure */
|
|
/*****************************************************/
|
|
typedef struct _DtMmdbBookCaseInfo
|
|
{
|
|
const char* name;
|
|
unsigned int num_books;
|
|
} DtMmdbBookCaseInfo;
|
|
|
|
/*****************************************************/
|
|
/* oid handler structure */
|
|
/*****************************************************/
|
|
typedef struct _DtMmdbObjectId
|
|
{
|
|
void* oid_ptr;
|
|
} DtMmdbHandle;
|
|
|
|
extern DtMmdbHandle* DtMmdbGroundId;
|
|
|
|
/*****************************************************/
|
|
/* info request structure */
|
|
/*****************************************************/
|
|
typedef struct _DtMmdbInfoRequest
|
|
{
|
|
int bookcase_descriptor;
|
|
char* locator_ptr;
|
|
DtMmdbHandle* primary_oid;
|
|
DtMmdbHandle* secondary_oid;
|
|
int sequence_num;
|
|
} DtMmdbInfoRequest ;
|
|
|
|
|
|
/*****************************************************/
|
|
/* graphic info structure */
|
|
/*****************************************************/
|
|
typedef struct _DtMmdbGraphicInfo
|
|
{
|
|
unsigned short type;
|
|
unsigned short width;
|
|
unsigned short height;
|
|
unsigned int llx, lly ;
|
|
unsigned int urx, ury ;
|
|
char* version;
|
|
} DtMmdbGraphicInfo;
|
|
|
|
|
|
/*****************************************************/
|
|
/* mmdb */
|
|
/*****************************************************/
|
|
void DtMmdbInit();
|
|
void DtMmdbQuit();
|
|
|
|
/*****************************************************/
|
|
/* Handle space release*/
|
|
/*****************************************************/
|
|
void DtMmdbFreeHandle(DtMmdbHandle*);
|
|
void DtMmdbFreeHandleList(DtMmdbHandle**);
|
|
|
|
/*****************************************************/
|
|
/* infolib */
|
|
/*****************************************************/
|
|
int DtMmdbOpenInfoLib DtMmdb_PROTO3(
|
|
const char* infolib_path,
|
|
const char* selected_base_name,
|
|
DtMmdbBool delayed_infolib_init
|
|
);
|
|
|
|
void DtMmdbCloseInfoLib DtMmdb_PROTO1(int infolib_descriptor);
|
|
|
|
DtMmdbInfoLibInfo* DtMmdbInfoLibGetInfo DtMmdb_PROTO1(int infolib_descriptor);
|
|
|
|
void DtMmdbInfoLibFreeInfo DtMmdb_PROTO1(DtMmdbInfoLibInfo*);
|
|
|
|
|
|
/*****************************************************/
|
|
/* bookcase */
|
|
/*****************************************************/
|
|
int
|
|
DtMmdbGetBookCaseByName
|
|
DtMmdb_PROTO2(int infolib_descriptor, const char* name);
|
|
|
|
int
|
|
DtMmdbGetBookCaseByIndex DtMmdb_PROTO2(int infolib_descriptor, int index);
|
|
|
|
int
|
|
DtMmdbGetBookCaseByLoc DtMmdb_PROTO2(
|
|
int infolib_descriptor,
|
|
const char* locator
|
|
);
|
|
|
|
int*
|
|
DtMmdbGetBookCaseByLocs DtMmdb_PROTO2(
|
|
int infolib_descriptor,
|
|
const char** locators
|
|
);
|
|
|
|
DtMmdbBookCaseInfo* DtMmdbBookCaseGetInfo DtMmdb_PROTO1(int bookcase_descriptor);
|
|
void DtMmdbBookCaseFreeInfo DtMmdb_PROTO1(DtMmdbBookCaseInfo*);
|
|
|
|
/*****************************************************/
|
|
/* section */
|
|
/*****************************************************/
|
|
const char* DtMmdbSectionGetLoc DtMmdb_PROTO1(DtMmdbInfoRequest* request);
|
|
|
|
const char*
|
|
DtMmdbSectionGetLongTitle DtMmdb_PROTO2(
|
|
DtMmdbInfoRequest* request,
|
|
unsigned int* title_length
|
|
);
|
|
|
|
const char*
|
|
DtMmdbSectionGetShortTitle DtMmdb_PROTO2(
|
|
DtMmdbInfoRequest* request,
|
|
unsigned int* title_length
|
|
);
|
|
|
|
const char*
|
|
DtMmdbSectionGetData DtMmdb_PROTO2(
|
|
DtMmdbInfoRequest* request,
|
|
unsigned int* data_length
|
|
);
|
|
|
|
int DtMmdbSectionGetDataSize DtMmdb_PROTO1(DtMmdbInfoRequest* request);
|
|
|
|
const char* DtMmdbSectionGetTocLoc DtMmdb_PROTO1( DtMmdbInfoRequest* request);
|
|
|
|
DtMmdbHandle*
|
|
DtMmdbSectionGetBookId DtMmdb_PROTO1( DtMmdbInfoRequest* request);
|
|
|
|
DtMmdbHandle*
|
|
DtMmdbSectionGetStyleSheetId DtMmdb_PROTO1(DtMmdbInfoRequest* request);
|
|
|
|
/*****************************************************/
|
|
/* TOC */
|
|
/*****************************************************/
|
|
DtMmdbHandle*
|
|
DtMmdbTocGetParentId DtMmdb_PROTO1(DtMmdbInfoRequest* request);
|
|
|
|
DtMmdbHandle**
|
|
DtMmdbTocGetChildIds DtMmdb_PROTO2(
|
|
DtMmdbInfoRequest* request,
|
|
unsigned int* list_length
|
|
);
|
|
|
|
int DtMmdbTocGetNumOfChildren DtMmdb_PROTO1( DtMmdbInfoRequest* request);
|
|
|
|
/*****************************************************/
|
|
/* Locator */
|
|
/*****************************************************/
|
|
const char*
|
|
DtMmdbLocatorGetSectionLoc DtMmdb_PROTO1(DtMmdbInfoRequest* request);
|
|
|
|
DtMmdbHandle*
|
|
DtMmdbLocatorGetSectionObjectId DtMmdb_PROTO1(DtMmdbInfoRequest* request);
|
|
|
|
/*****************************************************/
|
|
/* Graphic */
|
|
/*****************************************************/
|
|
const char*
|
|
DtMmdbGraphicGetData DtMmdb_PROTO2(
|
|
DtMmdbInfoRequest* request,
|
|
unsigned int* data_length
|
|
);
|
|
|
|
DtMmdbGraphicInfo*
|
|
DtMmdbGraphicGetInfo DtMmdb_PROTO1(DtMmdbInfoRequest* request);
|
|
void DtMmdbFreeGraphicInfo(DtMmdbGraphicInfo*);
|
|
|
|
|
|
/*****************************************************/
|
|
/* Stylesheet */
|
|
/*****************************************************/
|
|
const char*
|
|
DtMmdbStylesheetGetName DtMmdb_PROTO1(DtMmdbInfoRequest* request);
|
|
|
|
const char*
|
|
DtMmdbStylesheetGetata DtMmdb_PROTO2(
|
|
DtMmdbInfoRequest* request,
|
|
unsigned int* data_length
|
|
);
|
|
|
|
/*****************************************************/
|
|
/* BOOk */
|
|
/*****************************************************/
|
|
DtMmdbHandle*
|
|
DtMmdbBookGetTocObjectId DtMmdb_PROTO1(DtMmdbInfoRequest* request);
|
|
|
|
const char*
|
|
DtMmdbBookGetShortTitle DtMmdb_PROTO2(
|
|
DtMmdbInfoRequest* request,
|
|
unsigned int* length
|
|
);
|
|
|
|
const char*
|
|
DtMmdbBookGetLongTitle DtMmdb_PROTO2(
|
|
DtMmdbInfoRequest* request,
|
|
unsigned int* length
|
|
);
|
|
|
|
int DtMmdbBookGetSeqNum DtMmdb_PROTO1(DtMmdbInfoRequest* request);
|
|
|
|
const char*
|
|
DtMmdbBookGetSeqLIcense DtMmdb_PROTO2(
|
|
DtMmdbInfoRequest* request,
|
|
unsigned int* length
|
|
);
|
|
|
|
DtMmdbHandle** DtMmdbBookGetTabList DtMmdb_PROTO2(
|
|
DtMmdbInfoRequest* request, unsigned int* length
|
|
);
|
|
|
|
/*****************************************************/
|
|
/* DLP */
|
|
/*****************************************************/
|
|
DtMmdbHandle*
|
|
DtMmdbDlpGetPrevSectionId DtMmdb_PROTO1(DtMmdbInfoRequest* request);
|
|
|
|
DtMmdbHandle*
|
|
DtMmdbDlpGetNextSectionId DtMmdb_PROTO1(DtMmdbInfoRequest* request);
|
|
|
|
DtMmdbInfoRequest* newDtMmdbInfoRequestWithLoc(int bc_id, char* loc);
|
|
DtMmdbInfoRequest* newDtMmdbInfoRequestWithPrimaryOid(int bc_id, char* oid_str);
|
|
DtMmdbInfoRequest* newDtMmdbInfoRequestWithSecondaryOid(int bc_id, char* oid_str);
|
|
DtMmdbInfoRequest* newDtMmdbInfoRequestWithSeqnum(int bc_id, char* oid_str);
|
|
char* DtMmdbHandleToString(DtMmdbHandle* x);
|
|
void DtMmdbFreeInfoRequest(DtMmdbInfoRequest*);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|
|
|