0616 nwnss: import support headers for backend sweep

This commit is contained in:
Mario Fetka
2026-06-16 13:44:51 +00:00
parent 2cf1a50de0
commit d07a65d0d6
11 changed files with 4245 additions and 0 deletions

View File

@@ -0,0 +1,74 @@
/****************************************************************************
|
| (C) Copyright 2004 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
|
|***************************************************************************
|
| Shared structures between kernel engine and user interface
|
|---------------------------------------------------------------------------
|
| $Author: taysom $
| $Date: 2004-12-31 01:10:58 +0530 (Fri, 31 Dec 2004) $
|
| $RCSfile$
| $Revision: 465 $
|
|---------------------------------------------------------------------------
| This module is used to:
|
| Shared structures between kernel engine and user interface
|
+-------------------------------------------------------------------------*/
#ifndef _REPAIRUSER_H_1236812F3bE
#define _REPAIRUSER_H_1236812F3bE
#if zLINUX
#define RAV_MEDIA_STRUCTURE() __attribute__((packed))
#define RAV_MEDIA_UNION() __attribute__((packed))
#endif
#if zNETWARE
#define RAV_MEDIA_STRUCTURE()
#define RAV_MEDIA_UNION()
#endif
// Legal values for <debugLevel> tag OR ZS_DebugLevel field of zPOOL_RAV_SET_WITH_KEY
#define ZRP_DEBUG_LOG_ALL 0x00000001 /* Single bit to turn on full debug into log */
#define ZRP_DEBUG_LOG_IO_CACHE_HITS 0x00000002
#define ZRP_DEBUG_LOG_IO_WRITES 0x00000004
#define ZRP_DEBUG_LOG_IO_READS 0x00000008
#define ZRP_DEBUG_LOG_IO (ZRP_DEBUG_LOG_IO_READS|ZRP_DEBUG_LOG_IO_WRITES|ZRP_DEBUG_LOG_IO_CACHE_HITS)
#define ZRP_DEBUG_LOG_GENERAL_INFO 0x00000010 // General Information
#define ZRP_DEBUG_LOG_GENERAL_WARNING 0x00000020
#define ZRP_DEBUG_LOG_GENERAL_ERROR 0x00000040
#define ZRP_DEBUG_LOG_GENERAL (ZRP_DEBUG_LOG_GENERAL_INFO|ZRP_DEBUG_LOG_GENERAL_WARNING|ZRP_DEBUG_LOG_GENERAL_ERROR)
typedef struct ZSR_LossLimits_s
{
BOOL ZLL_PruneIV; // Default should be FALSE. Pruning IV you cause multiple Volumes to be destroyed!!!
BOOL ZLL_PruneUnknownLosses; // Default should be FALSE. It is best to get user input as unknown files may be destroyed!!!
//g QUAD ZLL_BlockLossMax; // Currently not used as Rebuild does not track. At prune decission time we
// have not counted NT blocks (and other trees we rebuld) therefore we really
// do not know how many blocks we have lost.
QUAD ZLL_FileLossMax; // Maximum number of files to lose per VOLUME. If rebuild detects that more files
// than this will be lost then rebuild ABORTS.
} RAV_MEDIA_STRUCTURE() ZSR_LossLimits_s;
#endif

View File

@@ -0,0 +1,247 @@
#ifndef __ALERT_H__
#define __ALERT_H__
/*****************************************************************************
*
* (C) Copyright 1988-1997 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
*
* $RCSfile$
* $Revision: 465 $
* $Date: 2004-12-31 01:10:58 +0530 (Fri, 31 Dec 2004) $
* $Author: taysom $
*
****************************************************************************/
//
// An Alert ID is comprised of two parts:
// A unique ModuleNumber (which is allotted) and an alert #
// which is under the control of the developer.
//
// The Alert module # specifies which module is generating the
// alert and the alert # can then be used for a specific alert
// generated by that module.
//
#define ALERT_ID(ModuleNumber, AlertNumber) ((ModuleNumber) | (AlertNumber))
#define GET_MODULE_NUMBER_FROM_ALERTID(ALERTID) ((ALERTID) >> 16)
//
//
// NLM developers may use any ModuleNumber in the range
// 0x8000???? to 0xffff????. The range 0x0001???? to 0x7fff????
// is reserved for Novell. The value 0x0000???? is considered
// an invalid Alert ID and is used for all legacy alerts.
//
//
// Allotted ModuleNumbers:
//
#define ALERT_BINDERY 0x01020000 /* Bindery Subject in BINDERY.NLM */
#define ALERT_OS 0x01030000 /* OS Event Subject */
#define ALERT_LLC 0x01040000 /* Sunnyvale, Kitty Shih, LLC */
#define ALERT_SDLC 0x01050000 /* Sunnyvale, Kitty Shih, SDLC stack */
#define ALERT_REMOTE 0x01060000 /* RCONSOLE NLM */
#define ALERT_MLID 0x01070000 /* Provo, MLID Lan Drivers (Don Shulz) */
#define ALERT_QLLC 0x01080000 /* Sunnyvale, Kitty Shih, QLLC */
#define ALERT_UPS 0x01090000 /* UPS monitor nlm*/
#define ALERT_DS 0x010a0000 /* Directory Service in DS.NLM */
#define ALERT_RSPX 0x010c0000 /* RSPX NLM */
#define ALERT_R232 0x010d0000 /* R232 NLM */
#define ALERT_TIME_SYNC 0x010e0000 /* TIMESYNC NLM */
#define ALERT_CLIB 0x010f0000 /* CLIB NLM */
#define ALERT_PRINT 0x01100000 /* Print Team */
#define ALERT_NRS 0x01200000 /* Novell Replication Services */
#define ALERT_DNS 0x01300000 /* IP/Domain Name Services */
#define ALERT_DHCP 0x01400000 /* DHCP Services */
#define ALERT_MM 0x01500000 /* Media Manager */
//
// WARNING!!!:
// If You change these size or structures you must make the
// change in event.h also.
//
#define AlertMessageBufferSize 256
#define MaxStationsInList 32
/* Pre-declare the following structure(s) */
struct LoadDefinitionStructure;
typedef struct
{
void *pNetworkManagementAttribute;
LONG nwAlertFlags;
LONG nwTargetStation; // Valid only if
// NOTIFY_CONNECTION_BIT
// bit is set. Specifies a
// a single station if
// TargetStationIsAPointer bit
// is NOT set, else points to
// a station count preceeded
// list of stations to be notified.
LONG nwTargetNotificationBits;
LONG nwAlertID;
LONG nwAlertLocus;
LONG nwAlertClass;
LONG nwAlertSeverity;
void *nwAlertDataPtr; // For legacy APIs.
void (*nwAlertDataFree)(void *nwAlertDataPtr); // For Legacy APIs.
BYTE *nwControlString;
LONG nwControlStringMessageNumber;
} NetWareAlertStructure;
//
// Note that these alert codes are also defined in ALERTS.INC.
//
//
// Values for nwAlertFlags field.
//
#define QueueThisAlertMask 0x00000001 /* bit 0 */
#define AlertIDValidMask 0x00000002 /* bit 1 */
#define AlertLocusValidMask 0x00000004 /* bit 2 */
#define AlertEventNotifyOnlyMask 0x00000008 /* bit 3 */
#define AlertNoEventNotifyMask 0x00000010 /* bit 4 */
#define AlertMessageNumberValid 0x00010000 /* bit 16 */
#define NoDisplayAlertUID 0x00200000 /* bit 21 */
#define AlertNoRingBell 0x00400000 /* bit 22 */
#define AlertIDNotUniqueBit 0x00800000 /* bit 23 */
#define OldStyleSystemAlertMask 0x01000000 /* bit 24 */
#define OldStyleINWSystemAlertMask 0x02000000 /* bit 25 */
#define OverloadMessageNumFieldBit 0x04000000 /* bit 26 -- used to indicate message number field can be ptr or number */
#define NoDisplayLocusBit 0x10000000 /* bit 28 */
#define NoDisplayAlertIDBit 0x20000000 /* bit 29 */
#define OverrideNotificationBits 0x40000000 /* bit 30 - Netman */
#define TargetStationIsAPointer 0x80000000 /* bit 31 */
#define Alert300Mask (AlertIDValidMask | AlertLocusValidMask | \
OldStyleSystemAlertMask)
#define Alert311Mask (AlertIDValidMask | OldStyleINWSystemAlertMask)
#define Alert320Mask (AlertIDValidMask | AlertMessageNumberValid | \
AlertLocusValidMask | NoDisplayAlertIDBit)
#define QAlertMask (AlertIDValidMask | AlertLocusValidMask | \
NoDisplayAlertIDBit | QueueThisAlertMask)
#define QAlert320Mask (Alert320Mask | QueueThisAlertMask)
//
// CONSUMER ERROR NOTIFICATION.
// Values for nwTargetNotificationBits field.
//
#define NOTIFY_CONNECTION_BIT 0x00000001
#define NOTIFY_EVERYONE_BIT 0x00000002
#define NOTIFY_ERROR_LOG_BIT 0x00000004
#define NOTIFY_CONSOLE_BIT 0x00000008
#define NOTIFY_QUEUE_MESSAGE 0x10000000 // Use if alert is to be queued.
#define DONT_NOTIFY_NMAGENT 0x80000000
//
// ERROR LOCUS IDENTIFIERS.
// Values for nwAlertLocus field.
//
#define LOCUS_UNKNOWN 0
#define LOCUS_MEMORY 1
#define LOCUS_FILESYSTEM 2
#define LOCUS_DISKS 3
#define LOCUS_LANBOARDS 4
#define LOCUS_COMSTACKS 5
#define LOCUS_TTS 7
#define LOCUS_BINDERY 8
#define LOCUS_STATION 9
#define LOCUS_ROUTER 10
#define LOCUS_LOCKS 11
#define LOCUS_KERNEL 12
#define LOCUS_UPS 13
#define LOCUS_SERVICE_PROTOCOL 14
#define LOCUS_SFT_III 15
#define LOCUS_RESOURCE_TRACKING 16
#define LOCUS_NLM 17
#define LOCUS_OS_INFORMATION 18
#define LOCUS_CACHE 19
//
// ERROR CLASSES.
// Values for nwAlertClass field.
//
#define CLASS_UNKNOWN 0
#define CLASS_OUT_OF_RESOURCE 1
#define CLASS_TEMP_SITUATION 2
#define CLASS_AUTHORIZATION_FAILURE 3
#define CLASS_INTERNAL_ERROR 4
#define CLASS_HARDWARE_FAILURE 5
#define CLASS_SYSTEM_FAILURE 6
#define CLASS_REQUEST_ERROR 7
#define CLASS_NOT_FOUND 8
#define CLASS_BAD_FORMAT 9
#define CLASS_LOCKED 10
#define CLASS_MEDIA_FAILURE 11
#define CLASS_ITEM_EXISTS 12
#define CLASS_STATION_FAILURE 13
#define CLASS_LIMIT_EXCEEDED 14
#define CLASS_CONFIGURATION_ERROR 15
#define CLASS_LIMIT_ALMOST_EXCEEDED 16
#define CLASS_SECURITY_AUDIT_INFO 17
#define CLASS_DISK_INFORMATION 18
#define CLASS_GENERAL_INFORMATION 19
#define CLASS_FILE_COMPRESSION 20
#define CLASS_PROTECTION_VIOLATION 21
#define CLASS_VIRTUAL_MEMORY 22
//
// ERROR SEVERITY LEVELS.
// Values for nwAlertSeverity field.
//
#define SEVERITY_INFORMATIONAL 0 // Counters or Gauges reached thresholds.
#define SEVERITY_WARNING 1 // Configuration errors, etc. No Damage.
#define SEVERITY_RECOVERABLE 2 // Hot Fix disk, etc. Work-around made.
#define SEVERITY_CRITICAL 3 // Disk Mirror failure, etc. Fix-up
// attempted
#define SEVERITY_FATAL 4 // Resource fatally affected--shut down.
#define SEVERITY_OPERATION_ABORTED 5 // The operation cannot complete...
// ramifications unknown.
#define SEVERITY_NONOS_UNRECOVERABLE 6 // Operation cannot complete...
// ramifications will not affect OS.
typedef struct
{
LONG stationCount;
LONG stationList[MaxStationsInList];
} StationListStruct;
struct LoadDefinitionStructure;
void NetWareAlert(struct LoadDefinitionStructure *nlm,
NetWareAlertStructure *nwAlert,
LONG ParameterCount, ...);
#endif /* __ALERT_H__ */
// ************************************************************************
// ************************** END OF FILE *********************************
// ************************************************************************

View File

@@ -0,0 +1,280 @@
#ifndef __ERRORS_H__
#define __ERRORS_H__
/*****************************************************************************
*
* (C) Copyright 1988-1994 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
*
* $RCSfile$
* $Revision: 465 $
* $Date: 2004-12-31 01:10:58 +0530 (Fri, 31 Dec 2004) $
* $Author: taysom $
*
****************************************************************************/
/* ERROR CODES */
#define OK 000
#define ERR_INSUFFICIENT_SPACE 001
#define ERR_TTS_OUT_OF_RESOURCES 002
#define ERR_REVOKE_HANDLE_RIGHTS_NOT_FOUND 115 /* 0x73 - also defined in locks.h */
#define ERR_REMOTE_NOT_ALLOWED 116 /* 0x74 - also defined in locks.h */
#define ERR_UNKNOWN_SUCCESS_OR_FAILURE 117 /* 0x75 */
#define ERR_BUFFER_NOT_LONG_ALIGNED 118 /* 0x76 */
#define ERR_BUFFER_TOO_SMALL 119 /* 0x77 */
#define ERR_VOLUME_FLAG_NOT_SET 120 /* 0x78 */
#define ERR_NO_ITEMS_FOUND 121 /* 0x79 */
#define ERR_CONNECTION_ALREADY_TEMPORARY 122 /* 0x7a */
#define ERR_CONNECTION_ALREADY_LOGGED_IN 123 /* 0x7b */
#define ERR_CONNECTION_NOT_AUTHENTICATED 124 /* 0x7c */
#define ERR_CONNECTION_NOT_LOGGED_IN 125 /* 0x7d */
#define ERR_NCP_BOUNDARY_CHECK_FAILED 126 /* 0x7e */
#define ERR_LOCK_WAITING 127 /* 0x7f */
#define ERR_LOCK_FAIL 128 /* 0x80 */
#define ERR_OUT_OF_HANDLES 129 /* 0x81 */
#define ERR_NO_OPEN_PRIVILEGE 130 /* 0x82 */
#define ERR_HARD_IO_ERROR 131 /* 0x83 */
#define ERR_NO_CREATE_PRIVILEGE 132 /* 0x84 */
#define ERR_NO_CREATE_DELETE_PRIVILEGE 133 /* 0x85 */
#define ERR_R_O_CREATE_FILE 134 /* 0x86 */
#define ERR_CREATE_FILE_INVALID_NAME 135 /* 0x87 */
#define ERR_INVALID_FILE_HANDLE 136 /* 0x88 */
#define ERR_NO_SEARCH_PRIVILEGE 137 /* 0x89 */
#define ERR_NO_DELETE_PRIVILEGE 138 /* 0x8a */
#define ERR_NO_RENAME_PRIVILEGE 139 /* 0x8b */
#define ERR_NO_SET_PRIVILEGE 140 /* 0x8c */
#define ERR_SOME_FILES_IN_USE 141 /* 0x8d */
#define ERR_ALL_FILES_IN_USE 142 /* 0x8e */
#define ERR_SOME_READ_ONLY 143 /* 0x8f */
#define ERR_ALL_READ_ONLY 144 /* 0x90 */
#define ERR_SOME_NAMES_EXIST 145 /* 0x91 */
#define ERR_ALL_NAMES_EXIST 146 /* 0x92 */
#define ERR_NO_READ_PRIVILEGE 147 /* 0x93 */
#define ERR_NO_WRITE_PRIVILEGE 148 /* 0x94 */
#define ERR_FILE_DETACHED 149 /* 0x95 */
#define ERR_NO_ALLOC_SPACE 150 /* 0x96 */
#define ERR_TARGET_NOT_A_SUBDIRECTORY 150 /* 0x97 */
#define ERR_NO_SPOOL_SPACE 151 /* 0x97 */
#define ERR_INVALID_VOLUME 152 /* 0x98 */
#define ERR_DIRECTORY_FULL 153 /* 0x99 */
#define ERR_RENAME_ACROSS_VOLUME 154 /* 0x9a */
#define ERR_BAD_DIR_HANDLE 155 /* 0x9b */
#define ERR_INVALID_PATH 156 /* 0x9c */
#define ERR_NO_SUCH_EXTENSION 156 /* 0x9d */
#define ERR_NO_DIR_HANDLES 157 /* 0x9d */
#define ERR_BAD_FILE_NAME 158 /* 0x9e */
#define ERR_DIRECTORY_ACTIVE 159 /* 0x9f */
#define ERR_DIRECTORY_NOT_EMPTY 160 /* 0xa0 */
#define ERR_DIRECTORY_IO_ERROR 161 /* 0xa1 */
#define ERR_IO_LOCKED 162 /* 0xa2 */
#define ERR_TRANSACTION_RESTARTED 163 /* 0xa3 */
#define ERR_RENAME_DIR_INVALID 164 /* 0xa4 */
#define ERR_INVALID_OPENCREATE_MODE 165 /* 0xa5 */
#define ERR_ALREADY_IN_USE 166 /* 0xa6 */
#define ERR_INVALID_RESOURCE_TAG 167 /* 0xa7 */
#define ERR_ACCESS_DENIED 168 /* 0xa8 */
#define ERR_INVALID_DATA_STREAM 190 /* 0xbe */
#define ERR_INVALID_NAME_SPACE 191 /* 0xbf */
#define ERR_NO_ACCOUNTING_PRIVILEGES 192 /* 0xc0 */
#define ERR_NO_ACCOUNT_BALANCE 193 /* 0xc1 */
#define ERR_CREDIT_LIMIT_EXCEEDED 194 /* 0xc2 */
#define ERR_TOO_MANY_HOLDS 195 /* 0xc3 */
#define ERR_ACCOUNTING_DISABLED 196 /* 0xc4 */
#define ERR_LOGIN_LOCKOUT 197 /* 0xc5 */
#define ERR_NO_CONSOLE_RIGHTS 198 /* 0xc6 */
#define ERR_Q_IO_FAILURE 208 /* 0xd0 */
#define ERR_NO_QUEUE 209 /* 0xd1 */
#define ERR_NO_Q_SERVER 210 /* 0xd2 */
#define ERR_NO_Q_RIGHTS 211 /* 0xd3 */
#define ERR_Q_FULL 212 /* 0xd4 */
#define ERR_NO_Q_JOB 213 /* 0xd5 */
#define ERR_NO_Q_JOB_RIGHTS 214 /* 0xd6 */
#define ERR_UNENCRYPTED_NOT_ALLOWED 214 /* 0xd6 */
#define ERR_Q_IN_SERVICE 215 /* 0xd7 */
#define ERR_DUPLICATE_PASSWORD 215 /* 0xd7 */
#define ERR_Q_NOT_ACTIVE 216 /* 0xd8 */
#define ERR_PASSWORD_TOO_SHORT 216 /* 0xd8 */
#define ERR_Q_STN_NOT_SERVER 217 /* 0xd9 */
#define ERR_MAXIMUM_LOGINS_EXCEEDED 217 /* 0xd9 */
#define ERR_Q_HALTED 218 /* 0xda */
#define ERR_BAD_LOGIN_TIME 218 /* 0xda */
#define ERR_Q_MAX_SERVERS 219 /* 0xdb */
#define ERR_NODE_ADDRESS_VIOLATION 219 /* 0xdb */
#define ERR_LOG_ACCOUNT_EXPIRED 220 /* 0xdc */
#define ERR_BAD_PASSWORD 222 /* 0xde */
#define ERR_PASSWORD_EXPIRED 223 /* 0xdf */
#define ERR_NO_LOGIN_CONNECTIONS_AVAILABLE 224 /* 0xe0 */
#define ERR_WRITE_TO_GROUP_PROPERTY 232 /* 0xe8 */
#define ERR_MEMBER_ALREADY_EXISTS 233 /* 0xe9 */
#define ERR_NO_SUCH_MEMBER 234 /* 0xea */
#define ERR_PROPERTY_NOT_GROUP 235 /* 0xeb */
#define ERR_NO_SUCH_VALUE_SET 236 /* 0xec */
#define ERR_PROPERTY_ALREADY_EXISTS 237 /* 0xed */
#define ERR_OBJECT_ALREADY_EXISTS 238 /* 0xee */
#define ERR_ILLEGAL_NAME 239 /* 0xef */
#define ERR_ILLEGAL_WILDCARD 240 /* 0xf0 */
#define ERR_BINDERY_SECURITY 241 /* 0xf1 */
#define ERR_NO_OBJECT_READ_RIGHTS 242 /* 0xf2 */
#define ERR_NO_OBJECT_RENAME_RIGHTS 243 /* 0xf3 */
#define ERR_NO_OBJECT_DELETE_RIGHTS 244 /* 0xf4 */
#define ERR_NO_OBJECT_CREATE_RIGHTS 245 /* 0xf5 */
#define ERR_NO_PROPERTY_DELETE_RIGHTS 246 /* 0xf6 */
#define ERR_NO_PROPERTY_CREATE_RIGHTS 247 /* 0xf7 */
#define ERR_NO_PROPERTY_WRITE_RIGHTS 248 /* 0xf8 */
#define ERR_NO_PROPERTY_READ_RIGHTS 249 /* 0xf9 */
#define ERR_TEMP_REMAP 250 /* 0xfa */
#define ERR_UNKNOWN_REQUEST 251 /* 0xfb */
#define ERR_NO_SUCH_PROPERTY 251 /* 0xfb */
#define ERR_MESSAGE_QUEUE_FULL 252 /* 0xfc */
#define ERR_TARGET_ALREADY_HAS_MESSAGE 252 /* 0xfc */
#define ERR_NO_SUCH_OBJECT 252 /* 0xfc */
#define ERR_BAD_STATION_NUMBER 253 /* 0xfd */
#define ERR_BINDERY_LOCKED 254 /* 0xfe */
#define ERR_DIR_LOCKED 254 /* 0xfe */
#define ERR_SPOOL_DELETE 254 /* 0xfe */
#define ERR_TRUSTEE_NOT_FOUND 254 /* 0xfe */
#define ERR_HARD_FAILURE 255 /* 0xff */
#define ERR_FILE_NAME 255 /* 0xff */
#define ERR_FILE_EXISTS 255 /* 0xff */
#define ERR_CLOSE_FCB 255 /* 0xff */
#define ERR_IO_BOUND 255 /* 0xff */
#define ERR_NO_SPOOL_FILE 255 /* 0xff */
#define ERR_BAD_SPOOL_PRINTER 255 /* 0xff */
#define ERR_BAD_PARAMETER 255 /* 0xff */
#define ERR_NO_FILES_FOUND 255 /* 0xff */
#define ERR_NO_TRUSTEE_CHANGE_PRIVILEGE 255 /* 0xff */
#define ERR_TARGET_NOT_LOGGED_IN 255 /* 0xff */
#define ERR_TARGET_NOT_ACCEPTING_MESSAGES 255 /* 0xff */
#define ERR_MUST_FORCE_DOWN 255 /* 0xff */
#define ERR_CHECKSUM_REQUIRED 255 /* 0xff */
#define ERR_SERVICE_ALREADY_LOADED 256 /* 0x100 */
#define ERR_SERVICE_NOT_LOADED 257 /* 0x101 */
#define ERR_INCORRECT_VERSION 258 /* 0x102 */
#define ERR_NO_MEMORY_READ_ACCESS 259 /* 0x103 */
#define ERR_NO_MEMORY_WRITE_ACCESS 260 /* 0x104 */
/* The following errors are returned in a LONG */
#define ERR_MODULE_NOT_UNLOADED 513
#define ERR_MODULE_NOT_LOADED 514
#define ERR_UNABLE_TO_MOUNT_VOLUME 515
#define ERR_UNABLE_TO_DISMOUNT_VOLUME 516
#define ERR_UNABLE_TO_ADD_NAME_SPACE 517
#define ERR_UNABLE_TO_SET_PARAMETER_VALUE 518
#define ERR_UNABLE_TO_EXECUTE_NCF_FILE 519
/****************************************************************************/
/*
The following sections catagorize error codes by the routines that return
them
------------------------------------------------------------------------------
Return codes from login procedures
ERR_LOG_ACCOUNT_EXPIRED
ERR_NODE_ADDRESS_VIOLATION
ERR_BAD_LOGIN_TIME
ERR_MAXIMUM_LOGINS_EXCEEDED
ERR_PASSWORD_TOO_SHORT
ERR_DUPLICATE_PASSWORD
ERR_UNENCRYPTED_NOT_ALLOWED
ERR_LOGIN_LOCKOUT
ERR_PASSWORD_EXPIRED
ERR_BAD_PASSWORD
Note that ERR_BAD_PASSWORD is used for two reasons
1) on a login call, it means the password was correct, but it has
expired and all grace logins have been used up.
2) on a change password call, it means that the old password given was
correct, but the account is not allowed to change the password
(typical of the GUEST account).
ERR_BAD_PASSWORD is not used to indicate that an incorrect password was
given, instead 255 indicates that the given password was invalid,
no such account exists, etc.
------------------------------------------------------------------------------
Return codes from accounting procedures
ERR_NO_ACCOUNTING_PRIVILEGES
ERR_NO_ACCOUNT_BALANCE
ERR_CREDIT_LIMIT_EXCEEDED
ERR_TOO_MANY_HOLDS
ERR_ACCOUNTING_DISABLED
------------------------------------------------------------------------------
Return codes from queue procedures
ERR_Q_IO_FAILURE
ERR_NO_QUEUE
ERR_NO_Q_SERVER
ERR_NO_Q_RIGHTS
ERR_Q_FULL
ERR_NO_Q_JOB
ERR_NO_Q_JOB_RIGHTS
ERR_Q_IN_SERVICE
ERR_Q_NOT_ACTIVE
ERR_Q_STN_NOT_SERVER
ERR_Q_HALTED
ERR_Q_MAX_SERVERS
------------------------------------------------------------------------------
Return codes from broadcast procedures
ERR_TARGET_NOT_LOGGED_IN
ERR_TARGET_NOT_ACCEPTING_MESSAGES
ERR_TARGET_ALREADY_HAS_MESSAGE
------------------------------------------------------------------------------
Return codes from bindery procedures
ERR_HARD_FAILURE Unrecoverable error (disk error, etc.)
ERR_BINDERY_LOCKED
ERR_NO_SUCH_OBJECT
ERR_NO_SUCH_PROPERTY
ERR_NO_PROPERTY_READ_RIGHTS
ERR_NO_PROPERTY_WRITE_RIGHTS
ERR_NO_PROPERTY_CREATE_RIGHTS No Property Creation or Change privileges
ERR_NO_PROPERTY_DELETE_RIGHTS
ERR_NO_OBJECT_CREATE_RIGHTS No Object Creation or Change privileges
ERR_NO_OBJECT_DELETE_RIGHTS
ERR_NO_OBJECT_RENAME_RIGHTS
ERR_NO_OBJECT_READ_RIGHTS No Object Read (Property Scan) privileges
ERR_BINDERY_SECURITY Attempt to change security to bindery-only status
ERR_ILLEGAL_WILDCARD
ERR_ILLEGAL_NAME
ERR_OBJECT_ALREADY_EXISTS
ERR_PROPERTY_ALREADY_EXISTS
ERR_NO_SUCH_VALUE_SET No property value to retrieve (in read/write)
ERR_PROPERTY_NOT_GROUP Set request made for non-set property
ERR_NO_SUCH_MEMBER Set request for non-existent member
ERR_MEMBER_ALREADY_EXISTS Setadd request for member already in set
ERR_WRITE_TO_GROUP_PROPERTY Attempt to Write Property to a set
OK Operation successfully completed
------------------------------------------------------------------------------
*/
/****************************************************************************/
/****************************************************************************/
#endif /* __ERRORS_H__ */

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,55 @@
#ifndef __INS_H__
#define __INS_H__
/*****************************************************************************
*
* (C) Copyright 1989-1994 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
*
* $RCSfile$
* $Date: 2004-12-31 01:10:58 +0530 (Fri, 31 Dec 2004) $
* $Revision: 465 $
*
****************************************************************************/
#define _INS_INCLUDED_ TRUE
#define NMLongIncr 1
#define NMLongIncrHi 2
#define NMLongPtrIncrHi 3
#define NMLongDecr 4
#define NMLongDecrHiLo 5
#define NMLongPtrDecrHiLo 6
#define NMWordIncr 7
#define NMWordIncrHi 8
#define NMWordDecr 9
#define NMWordDecrHiLo 10
#define NMByteIncr 11
#define NMByteIncrHi 12
#define NMByteDecr 13
#define NMByteDecrHiLo 14
#define NMQuadIncr 15
#define NMQuadDecr 16
#define NMSixByteIncr 17
#define NMSixByteDecr 18
#define NMAlertIncr 19
/****************************************************************************/
/****************************************************************************/
#endif /* __INS_H__ */

View File

@@ -0,0 +1,308 @@
/****************************************************************************
|
| (C) Copyright 2004 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
|
|***************************************************************************/
extern LONG NumberOfVolumes;
LONG CloseFile(
LONG station,
LONG task,
LONG handle);
LONG CommitFile(
LONG Station,
LONG OpenFileHandle);
LONG ConvertPathString(
LONG stationNumber,
BYTE base,
BYTE *modifierString,
LONG *volumeNumber,
LONG *pathBase,
BYTE *pathString,
LONG *pathCount);
LONG MapDirectoryNumberToPath(
LONG Volume,
LONG DirectoryNumber,
LONG NameSpace,
BYTE *String,
LONG StringLength,
LONG *ActualLength);
LONG MapPathToDirectoryNumberOrPhantom(
LONG Station,
LONG Volume,
LONG PathBase,
BYTE *PathString,
LONG PathCount,
LONG NameSpace,
LONG *DirectoryNumber,
LONG CanCreateFlag);
LONG MapPathToDirectoryNumber(
LONG Station,
LONG Volume,
LONG PathBase,
BYTE *PathString,
LONG PathCount,
LONG NameSpace,
LONG *DirectoryNumber,
LONG *FileFlag);
LONG GetAccessRights(
LONG Station,
LONG Volume,
LONG DirectoryNumber,
LONG NameSpace,
WORD *AccessRights);
LONG RenameEntry(
LONG Station,
LONG Task,
LONG Volume,
LONG PathBase,
BYTE *PathString,
LONG PathCount,
LONG NameSpace,
LONG MatchBits,
BYTE SubdirectoryFlag,
LONG NewBase,
BYTE *NewString,
LONG NewCount,
LONG CompatabilityFlag,
BYTE AllowRenamesToMyselfFlag);
LONG CreateFile(
LONG Station,
LONG Task,
LONG Volume,
LONG PathBase,
BYTE *PathString,
LONG PathCount,
LONG NameSpace,
LONG CreatedAttributes,
LONG FlagBits,
BYTE DataStreamNumber,
LONG *Handle,
LONG *DirectoryNumber,
void **DirectoryEntry);
LONG DeleteDirectory(
LONG Station,
LONG Volume,
LONG PathBase,
BYTE *PathString,
LONG PathCount,
LONG NameSpace);
LONG CreateDirectory(
LONG Station,
LONG Volume,
LONG PathBase,
BYTE *PathString,
LONG PathCount,
LONG NameSpace,
LONG DirectoryAccessMask,
LONG *ReturnedDirectoryNumber,
void **ReturnedSubDir);
struct ModifyStructure;
struct DirectoryStructure;
LONG ModifyDirectoryEntry(
LONG Station,
LONG Task,
LONG Volume,
LONG PathBase,
BYTE *PathString,
LONG PathCount,
LONG NameSpace,
LONG MatchBits,
LONG TargetNameSpace,
struct ModifyStructure *ModifyVector,
LONG ModifyBits,
LONG AllowWildCardsFlag);
LONG GetEntryFromPathStringBase(
LONG Station,
LONG Volume,
LONG PathBase,
BYTE *PathString,
LONG PathCount,
LONG SourceNameSpace,
LONG DesiredNameSpace,
struct DirectoryStructure **Dir,
LONG *DirectoryNumber);
LONG DirectorySearch(
LONG Station,
LONG Volume,
LONG DirectoryNumber,
LONG NameSpace,
LONG StartEntryNumber,
BYTE *Pattern,
LONG MatchBits,
struct DirectoryStructure **DirectoryEntry,
LONG *ReturnedDirectoryNumber);
LONG ScanTrusteeRights(
LONG Station,
LONG Volume,
LONG DirectoryNumber,
LONG NameSpace,
LONG StartingOffset,
LONG *TrusteeVector,
WORD *MaskVector,
LONG VectorSize,
LONG *ActualVectorSize);
LONG GetAccessRights( /* moved to vswitch. 386 */
LONG Station,
LONG Volume,
LONG DirectoryNumber,
LONG NameSpace,
WORD *AccessRights);
LONG AddTrusteeRights( /* moved to vswitch.386 */
LONG Station,
LONG Volume,
LONG DirectoryNumber,
LONG NameSpace,
LONG Trustee,
LONG NewRights);
LONG DeleteTrusteeRights( /* moved to vswitch.386 */
LONG Station,
LONG Volume,
LONG DirectoryNumber,
LONG NameSpace,
LONG DeletedTrustee,
BYTE CanDeleteOnPurgedFileFlag);
LONG GetAccessRightsFromIDs(
LONG Volume,
LONG DirectoryNumber, /* assumes it is in the DOS name space. */
LONG UserID,
LONG GroupID,
WORD *UserAccessRights,
WORD *GroupAccessRights);
LONG FindNextTrusteeReference(
LONG Station,
LONG Volume,
LONG TrusteeID,
LONG StartEntryNumber,
LONG *EntryNumber,
WORD *TrusteeMask,
LONG *OwnerEntryNumber);
LONG OpenFile( /* moved to vswitch.386 */
LONG Station,
LONG Task,
LONG Volume,
LONG PathBase,
BYTE *PathString,
LONG PathCount,
LONG NameSpace,
LONG MatchBits,
LONG RequestedRights,
BYTE DataStreamNumber,
LONG *Handle,
LONG *DirectoryNumber,
void **DirectoryEntry);
LONG EraseFile( /* moved to vswitch.386 */
LONG Station,
LONG Task,
LONG Volume,
LONG PathBase,
BYTE *PathString,
LONG PathCount,
LONG NameSpace,
LONG MatchBits);
LONG CountOwnedFilesAndDirectories(
LONG Station,
LONG Volume,
LONG ID,
LONG *FileCount,
LONG *DirectoryCount);
LONG ScanDeletedFiles(
LONG Station,
LONG Volume,
LONG DirectoryNumber,
LONG NameSpace,
LONG StartEntryNumber,
LONG *ReturnedDirectoryNumber,
struct DirectoryStructure **EntryPointer);
LONG PurgeDeletedFile(
LONG Station,
LONG Volume,
LONG DirectoryNumber,
LONG ToBePurgedDirectoryNumber,
LONG NameSpace);
LONG VM_Return_Volume_Info(
LONG volumeid,
struct volinfodef *volumeinfo);
LONG VM_Find_Next_Volume(
LONG *nextvolumeid,
LONG filesystemid);
LONG VM_Unregister_Volume(
LONG volumemanagerhandle,
LONG filesystemhandle);
LONG VM_Change_Volume_Status(
LONG volumemanagerhandle,
LONG filesystemhandle,
LONG newinstance,
BYTE *newname,
LONG newstatus,
LONG (**jumptable)(void));
void VM_Volume_Request_Complete(
struct volumerequestdef *request,
LONG completioncode);
LONG GetVolumeNameTableEntry(
LONG volumeNumber,
BYTE *nameBuffer);
LONG VM_Register_Volume(
LONG *volumemanagerhandle,
LONG filesystemhandle,
LONG volumeinstance,
BYTE *volumename,
LONG volumestatus,
LONG filesystemid,
BYTE *filesystemname,
LONG (*pollroutine)(
LONG handle,
struct volumerequestdef *request),
LONG (*abortroutine)(
LONG handle,
struct volumerequestdef *request),
LONG (**jumptable)(void));

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,96 @@
/*****************************************************************************
*
* (C) Copyright 1988-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
*
* $Author: taysom $
* $Date: 2004-12-31 01:10:58 +0530 (Fri, 31 Dec 2004) $
* $RCSfile$
* $Revision: 465 $
****************************************************************************/
#ifndef _MPKTYPES_H_
#define _MPKTYPES_H_
#if 0 // GLP - should not need as we use "linuxmpk.h"
#include "portable.h"
/*
* Various data typedefs
*/
typedef void * THREAD;
typedef void * APPL;
typedef void * SPINLOCK;
typedef void * MUTEX;
typedef void * SEMAPHORE;
typedef void * RWLOCK;
typedef void * RWMUTEX;
typedef void * BARRIER;
typedef void * QUE;
typedef void * QUE_LIGHT;
typedef void * INTTAG;
typedef void * HANDLE;
typedef void * SCREEN;
typedef unsigned long FLAGS;
typedef unsigned long ERROR;
typedef unsigned long PROCESSOR;
typedef void * CONDITION;
//
// WARNING!!!:
// The following are for Novell Internal use only.
// Until an alternate place is found, they will
// be retained here.
//
typedef void * SPINRWLOCK;
typedef void * KCONDITION;
typedef void * RESOURCETAG;
typedef void * MODULEHANDLE;
/**********
Macros
**********/
#define CpuBitSet( x ) while( ( x & CpuBit ) == 0 ) { x |= CpuBit; }
#define CpuBitClear( x ) while( ( x & CpuBit ) != 0 ) { x &= ~CpuBit; }
//
// Clear the Nth bit (0 based) in a bit map.
//
#define ClearBit(BitMap, BitNum) (BitMap &= ~((UINT) 1 << (BitNum)))
//
// Set the Nth bit (0 based) in a bit map.
//
#define SetBit(BitMap, BitNum) (BitMap |= (1 << (BitNum)))
//
// Module internal data/routines should be "visible" only during debugging.
//
#endif // #if 0
#endif

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,58 @@
#ifndef __SUBJECTS_H__
#define __SUBJECTS_H__
/*****************************************************************************
*
* (C) Copyright 1989-1994 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
*
* $RCSfile$
* $Date: 2004-12-31 01:10:58 +0530 (Fri, 31 Dec 2004) $
* $Revision: 465 $
*
****************************************************************************/
/*
ID is built as Subject.Instance
Known Subjects
*/
#define ServerSubjects 0x00010000
#define MemorySubjects 0x00020000
#define NCPSubjects 0x00030000
#define OSSubjects 0x00040000
#define CommunicationSubjects 0x00050000
#define FileSystemSubjects 0x00060000
#define AdaptorSubjects 0x00070000
#define QueueSubjects 0x00080000
#define ConnectionSubjects 0x00090000
#define VolumeMgrSubjects 0x000A0000
#define MediaManagerSubjects 0x000B0000
#define SetCmdSubjects 0x000C0000
#define NLMSubjects 0x000D0000
#define TTSSubjects 0x000E0000
#define LocksSubjects 0x000F0000
#define CompressionSubjects 0x00100000
#define SFTIIISubjects 0x00110000
#define VirtualMemorySubjects 0x00120000
#define MPKSubjects 0x00130000
/****************************************************************************/
/****************************************************************************/
#endif /* __SUBJECTS_H__ */

View File

@@ -9,6 +9,38 @@
*/
#include <library/xStdlib.h>
#include <library/xStdio.h>
#include <wio.h>
#ifdef wPause
#undef wPause
#define wPause(_file, _mode) LB_wPause((WFile_s *)(void *)(_file), (_mode))
#endif
#ifndef UINT32
typedef LONG UINT32;
#endif
#ifndef aprintf
#define aprintf LB_aprintf
#endif
#ifndef KERN_INFO
#define KERN_INFO ""
#endif
#ifndef KERN_WARNING
#define KERN_WARNING ""
#endif
#ifndef KERN_ERR
#define KERN_ERR ""
#endif
#ifndef printk
#define printk(...) fprintf(stderr, __VA_ARGS__)
#endif
#ifndef ZOS_ProduceEvent
#define ZOS_ProduceEvent(_status, _event) \
do { (_status) = ProduceEvent((_event)); } while (0)
#endif
#ifndef EXPORT_SYMBOL
#define EXPORT_SYMBOL(_sym)