Files
mars-nwe/include/core/register.h
2026-06-14 06:04:07 +02:00

151 lines
4.5 KiB
C

/****************************************************************************
|
| (C) Copyright 1985, 1991, 1993, 1996 Novell, Inc.
| All Rights Reserved.
|
| This program is free software; you can redistribute it and/or
| modify it under the terms of version 2 of the GNU General Public
| License as published by the Free Software Foundation.
|
| This program is distributed in the hope that it will be useful,
| but WITHOUT ANY WARRANTY; without even the implied warranty of
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
| GNU General Public License for more details.
|
| You should have received a copy of the GNU General Public License
| along with this program; if not, contact Novell, Inc.
|
| To contact Novell about this file by physical or electronic mail,
| you may find current contact information at www.novell.com
|
|***************************************************************************
|
| NetWare Advance File Services (NSS) module
|
|---------------------------------------------------------------------------
|
| $Author: taysom $
| $Date: 2004-12-31 01:10:58 +0530 (Fri, 31 Dec 2004) $
|
| $RCSfile$
| $Revision: 465 $
|
|---------------------------------------------------------------------------
| This module is used to:
| NSS Library source
|
| WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING!
|
| This header file should ONLY be used for NSS internal development.
| This includes Semantic Agents (SA) and Loadable Storage Services (LSS).
| Any other use may cause conflicts which NSS will NOT fix.
+-------------------------------------------------------------------------*/
#ifndef _REGISTER_H_
#define _REGISTER_H_
#ifndef _OMNI_H_
# include <omni.h>
#endif
#ifndef _DISPLAYVERSION_H_
# include <DisplayVersion.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
#define LIBMODULE_NAME "NSSLIB"
extern const char LibModule[];
/*-------------------------------------------------------------------------
* Resource structure definition
*-------------------------------------------------------------------------*/
typedef struct Resource_s
{
ObjName_t name; /* product name */
VersionInformation_s verInfo;
#ifdef __linux__
void *moduleHandle;
#else
NINT serverMajorVersion;
NINT serverMinorVersion;
NINT serverSubVersion;
struct LoadDefinitionStructure *moduleHandle;
#endif
struct WFile_s *stdio; /* struct ScreenStruct *printfScreenID;*/
#ifdef __linux__
void *consoleScreenID;
void *debuggerScreenID;
#endif
#ifndef __linux__
struct ScreenStruct *consoleScreenID;
struct ScreenStruct *debuggerScreenID;
#endif
#ifdef __linux__
void *memoryRTag;
void *timerRTag;
void *workToDoRTag;
void *eventBlkRTag;
#endif
#ifndef __linux__
struct ResourceTagStructure *memoryRTag;
#endif
#ifndef __linux__
struct ResourceTagStructure *eventRTag;
struct ResourceTagStructure *timerRTag;
struct ResourceTagStructure *workToDoRTag;
struct ResourceTagStructure *mmAppRTag;
struct ResourceTagStructure *processRTag;
struct ResourceTagStructure *screenRTag;
struct ResourceTagStructure *aespRTag;
struct ResourceTagStructure *cmdLineRTag;
struct ResourceTagStructure *consoleCmdRTag;
struct ResourceTagStructure *connectionTag;
struct ResourceTagStructure *setCmdCategoryRTag;
struct ResourceTagStructure *setCmdRTag;
struct ResourceTagStructure *debugCmdRTag;
struct ResourceTagStructure *eventBlkRTag;
struct ResourceTagStructure *systemCallRTag;
#endif
} Resource_s;
extern Resource_s COMN_Resource;
/*-------------------------------------------------------------------------
* Functions for initialization
*-------------------------------------------------------------------------*/
/* This is a special entry point in case you need the Resource tags inited
* before the library is initialized. The routine RegisterLibraryOwner
* normally calls this */
#ifndef __linux__
extern STATUS COMN_RegisterLibraryResourceTags(
char *applicationName,
struct LoadDefinitionStructure *handle,
struct ScreenStruct *printfScreenID );
#endif
#ifdef __linux__
extern STATUS COMN_RegisterLibraryResourceTags(
char *applicationName );
#endif
/* Init the library */
extern STATUS COMN_RegisterLibraryOwner(
char *applicationName,
#ifndef __linux__
struct LoadDefinitionStructure *applicationHandle,
struct ScreenStruct *printfScreenID,
#endif
VersionInformation_s *versionInfo);
/* cleanup the library */
extern void COMN_UnregisterLibraryOwner(void);
#ifdef __cplusplus
}
#endif
#endif