NWLogPhysicalRecord(3nw)


NWLogPhysicalRecord -- logs a physical record in preparation for a lock

Synopsis

   #include<nwfile.h> 
   or 
   #include<nwcalls.h> 
   

NWCCODE N_API NWLogPhysicalRecord (NWFILE_HANDLE fileHandle, nuint32 recStartOffset, nuint32 recLength, nuint8 lockFlags, nuint16 timeOut);

Description

The parameters are as follows:

fileHandle
(IN) Specifies the file handle of the file whose record is being logged.

recStartOffset
(IN) Specifies the offset into the file where the record being logged begins.

recLength
(IN) Specifies the length, in bytes, of the record to be logged.

lockFlags
(IN) Specifies the lock flags.

timeOut
(IN) Specifies the length of time the NetWare server attempts to lock the record before timing out.

Return values

0x0000
SUCCESSFUL

0x8988
INVALID_FILE_HANDLE

0x89
6SERVER_OUT_OF_MEMORY9

0x89FD
LOCK_COLLISION

0x89FE
TIMEOUT_FAILURE

0x89FF
LOCK_ERROR

Notices

The NetWare server attempts to log the record for the length of time specified by timeOutLimit before returning a time out error. timeOut is specified in units of 1/18 second (0 = no wait).

lockFlags' values follow:

   0 = Log only 
   1 = Log and lock exclusive 
   3 = Log and lock shareable 

timeOut is specified in units of 1/18 second (0 = no wait).

In DOS and Windows, all access to the network is blocked during any timeout period. For this reason, timeouts should be kept to an absolute minimum -- a value of 18 or less. (Even though DOS is mono-tasking, the application may be running in a DOSBOX under Windows Enhanced Mode.)

Normally, a set of files or records is logged and then locked as a set. However, a single file or record can also be locked when it is entered in the log table.

The release functions, NWReleasePhysicalRecord and NWReleasePhysicalRecordSet, unlock a lock or set of locks. The clear functions, NWClearPhysicalRecord and NWClearPhysicalRecordSet, unlock and remove a lock or set of locks from the log table.

In order to avoid deadlock, request those resources needed to lock by making an entry in the File Log Table at the NetWare server. Once the log table is complete, NWLogPhysicalRecord can then lock those records. The locking works only if all records in the table are available. If some of the logged resources cannot be locked, the lock fails and none of the resources are locked.

Services

Synchronization

NCP calls

0x2222 26
Log Physical Record

References

NWClearLogicalRecord(3nw), NWClearLogicalRecordSet(3nw), NWLockLogicalRecordSet(3nw), NWReleaseLogicalRecord(3nw), NWReleaseLogicalRecordSet(3nw)
30 January 1998
© 1998 The Santa Cruz Operation, Inc. All rights reserved.