Jump to content

FSH BUFSTATE: Difference between revisions

From EDM2
No edit summary
No edit summary
Line 9: Line 9:
* To help avoid deadlocks, [[FSH_ADDSHARE]] should not be called while * owning an OS/2 buffer.  
* To help avoid deadlocks, [[FSH_ADDSHARE]] should not be called while * owning an OS/2 buffer.  
* FSH_BUFSTATE is used retrieve or set the state of a buffer.
* FSH_BUFSTATE is used retrieve or set the state of a buffer.
==Syntax==
FSH_BUFSTATE (pBuf, flag, pState)
==Parameters==
; pBuf: pointer to buffer. This pointer was returned to the FSD.
; flag: indicates get or set buf state.
:*flag == 0 indicates retrieve state
:*flag == 1 indicates set state
;pState: for set, points to new state of buffer on input. For * retrieve, points to state of buffer.
:* State == 0xû080 indicates dirty buffer.
* All other values are reserved.
==Returns==
: Error code if error detected
: 0 otherwise.
* ERROR INVALID_PARAMETER - pointer to buffer is invalid or * reserved state bits are set.
==Calling Sequence==
<PRE>
int far pascal FSH_BUFSTATE (pBuf, flag, pState)
* pBuf;
* unsigned short flag;
* unsigned short far ~ pState;
</PRE>
   
   
==Remarks==
==Remarks==

Revision as of 05:16, 20 February 2020

Legacy Function Warning
It is recommended to use a newer replacement for this function.
Replacement:
Remarks: REMOVED in OS/2 Version 2.0


Get or set buffer state FSH_SEMREQUEST. Request a semaphore.

FSH_BUFSTATE - Get or set buffer state:

  • To help avoid deadlocks, FSH_ADDSHARE should not be called while * owning an OS/2 buffer.
  • FSH_BUFSTATE is used retrieve or set the state of a buffer.

Syntax

FSH_BUFSTATE (pBuf, flag, pState)

Parameters

pBuf
pointer to buffer. This pointer was returned to the FSD.
flag
indicates get or set buf state.
  • flag == 0 indicates retrieve state
  • flag == 1 indicates set state
pState
for set, points to new state of buffer on input. For * retrieve, points to state of buffer.
  • State == 0xû080 indicates dirty buffer.
  • All other values are reserved.

Returns

Error code if error detected
0 otherwise.
  • ERROR INVALID_PARAMETER - pointer to buffer is invalid or * reserved state bits are set.

Calling Sequence

int far pascal FSH_BUFSTATE (pBuf, flag, pState) 

* pBuf;
* unsigned short flag;
* unsigned short far ~ pState;

Remarks

  • Reminder: OS/2 does not validate input parameters, so FSD should * call FSH_PROBEBUF where appropriate.