2020-09-30 17:12:29 +02:00

164 lines
3.9 KiB
C

/***************************************************************************
*
* File Name: ./hprrm/rfs.h
*
* Copyright (C) 1993-1996 Hewlett-Packard Company.
* All rights reserved.
*
* 11311 Chinden Blvd.
* Boise, Idaho 83714
*
* This is a part of the HP JetAdmin Printer Utility
*
* This source code is only intended as a supplement for support and
* localization of HP JetAdmin by 3rd party Operating System vendors.
* Modification of source code cannot be made without the express written
* consent of Hewlett-Packard.
*
*
* Description:
*
* Author: Name
*
*
* Modification history:
*
* date initials change description
*
* mm-dd-yy MJB
*
*
*
*
*
*
***************************************************************************/
#ifndef RFS_INC
#define RFS_INC
#include "nfsdefs.h"
#include "colaintf.h"
/* rfs.h -- public type declarations for rfs routines. */
/*
Define HPRRM_EXPORT_ALL_APIS if you want the RRM, RFS,
and NFS API's exported in the HPRRM.DLL
Define HPRRM_EXPORT_RFS_API if you want the RFS API exported
(regardless of the other API's).
*/
#if defined(HPRRM_DLL_EXPORT_ALL_APIS)
#define HPRRM_DLL_EXPORT_RFS_API
#endif
#if defined(HPRRM_DLL_EXPORT_RFS_API)
#define HPRRM_DLL_RFS_EXPORT(TYPE) DLL_EXPORT(TYPE) CALLING_CONVEN
#else
#define HPRRM_DLL_RFS_EXPORT(TYPE) TYPE
#endif
typedef LPVOID RFSHANDLE;
#define RFSMAXFILENAMELENGTH 100
typedef enum {
RFSSEEK_SET,
RFSSEEK_CUR,
RFSSEEK_END
} RFSOrigin, *LPRFSOrigin;
typedef long RFSOffset, *LPRFSOffset;
typedef unsigned long RFSItemSize, *LPRFSItemSize;
typedef unsigned long RFSItemCount, *LPRFSItemCount;
typedef unsigned long RFSTimeVal, *LPRFSTimeVal;
typedef enum {RFSFalse = 0, RFSTrue = 1} RFSBool, *LPRFSBool;
typedef enum {
RFSTypeIsDirectory,
RFSTypeIsData
} RFSFileType, *LPRFSFileType;
typedef enum {
RFSSuccess,
RFSFailure,
RFSNoPrinterSet,
RFSNoFileSystemSet,
RFSNoSuchFile,
RFSNoFileSystems,
RFSNoSuchFileSystem,
RFSDirectoryEmpty,
RFSNoSuchDirectory,
RFSNameAlreadyUsed,
RFSNoFileOpen,
RFSFileAlreadyOpen,
RFSNameTooBig,
RFSIllegalName,
RFSIllegalMode,
RFSIllegalOrigin,
RFSWriteProtected,
RFSNoSpaceOnDevice,
RFSPermissionDenied,
RFSDirectoryNotEmpty,
RFSNotADirectory,
RFSItsADirectory,
RFSCallBackError,
LastRFSStatus /* this needs to be last! */
} RFSStatus, *LPRFSStatus;
/* WARNING: We send strings to these call-back routines. */
/* The call-back routine must do a string copy of */
/* the string if it wishes to use the string after */
/* the return of the call-back function because the */
/* string will be NUKED (the storage will go away) when */
/* the call-back routine returns! */
typedef RFSStatus (*RFSEFSCallBack)(char FileSystemName[],
LPVOID CallBackParam);
typedef RFSStatus (*RFSRDCallBack)(char DirEntryName[],
LPVOID CallBackParam);
typedef struct {
RFSTimeVal CreationTimeSec;
RFSTimeVal CreationTimeUSec;
RFSTimeVal ModificationTimeSec;
RFSTimeVal ModificationTimeUSec;
RFSTimeVal AccessTimeSec;
RFSTimeVal AccessTimeUSec;
} RFSFileTimesStruct, *LPRFSFileTimesStruct;
/* These take a pointer to an RFSFileTimesStruct */
/* and give you an individual field. */
#define FileTimesCreationSec(fts_p) \
((fts_p)->CreationTimeSec)
#define FileTimesCreationUSec(fts_p) \
((fts_p)->CreationTimeUSec)
#define FileTimesModificationSec(fts_p) \
((fts_p)->ModificationTimeSec)
#define FileTimesModificationUSec(fts_p) \
((fts_p)->ModificationTimeUSec)
#define FileTimesAccessSec(fts_p) \
((fts_p)->AccessTimeSec)
#define FileTimesAccessUSec(fts_p) \
((fts_p)->AccessTimeUSec)
#endif /* RFS_INC */