Files
mars-nwe/include/nwnss/internal/sbsMFL.h
2026-06-16 13:45:46 +02:00

96 lines
3.2 KiB
C

/****************************************************************************
|
| (C) Copyright 1995-2000 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) Initialization module
|
|---------------------------------------------------------------------------
|
| $Author: taysom $
| $Date: 2004-12-31 01:10:58 +0530 (Fri, 31 Dec 2004) $
|
| $RCSfile$
| $Revision: 465 $
|
|---------------------------------------------------------------------------
| This module is used to:
| Common Layer MFL interface
+-------------------------------------------------------------------------*/
#ifndef _SBS_MFL_H_
#define _SBS_MFL_H_
typedef struct ModifiedFileDesc_s
{
Zid_t fileZid;
WORD size; /* Size of this descriptor (including pathName size */
WORD pathNameBytes; /* path name length in bytes */
BYTE pathName[1];
} ModifiedFileDesc_s;
typedef struct MFLCursor_s
{
Zid_t lastZidReturned;
} MFLCursor_s;
void SBS_markFileModified(
struct File_s *file,
NINT archiveBitsToSet,
struct Xaction_s *xaction);
void SBS_markFileModifiedAsync(struct File_s *file);
void SBS_markFileUnmodified(struct File_s *file);
void SBS_markFileUnmodifiedAsync(struct File_s *file);
#define MAX_MFL_ENTRIES_PER_SCOOP 50
#define SBS_MFL_ENABLED(_volume) \
(((_volume)->VOLenabledAttributes & zATTR_MFL) != 0)
STATUS
SBS_enumerateMFL(
GeneralMsg_s *genMsg,
struct Volume_s *volume, /* Returns entries with epoch < volume's epoch */
NINT nameSpaceID, /* use this name space for returning path names */
NINT pathFormat, /* Character encoding to use for path names */
BOOL resetCursor, /* Reset cursor to point to start of MFL
* (also indicates start of enumeration) */
MFLCursor_s *cursor, /* inout */
NINT numFilesRequested,
NINT bufSize, /* size of dataBuf in bytes */
BYTE *dataBuf, /* out */
NINT *dataSizeReturned, /* out size of data returned in bytes */
NINT *numFilesReturned, /* out # files returned */
BOOL *isMFLincomplete); /* out set if ptr non-zero */
STATUS SBS_volumeMFLControlReadFunc(
NINT parmLen,
utf8_t *parm,
VirtInfo_s *virtInfo);
STATUS SBS_volumeMFLControlWriteFunc(
NINT parmLen,
utf8_t *parm,
NINT dataLen,
BYTE *data,
NINT offset,
VirtInfo_s *virtInfo);
#endif /* _SBS_MFL_H_ */