DosPortAccess: Difference between revisions
Appearance
Created page with "image:legacy.png This function has been eliminated since OS/2 2.0 [https://books.google.com.ec/books?id=u7WbsmbttwYC&pg=PT372&lpg=PT372&dq#v=onepage&q&f=false] ==Descript..." |
mNo edit summary |
||
Line 1: | Line 1: | ||
This call requests or releases access to ports for I/O privilege. | |||
This | |||
This function has been eliminated since OS/2 2.0. | |||
This | |||
==Syntax== | ==Syntax== | ||
DosPortAccess (Reserved, TypeOfAccess, FirstPort, LastPort) | |||
DosPortAccess | |||
==Parameters== | ==Parameters== | ||
; | ;Reserved (USHORT) - input : Must be set to zero. | ||
;TypeOfAccess (USHORT) - input : A request for or release of access to a port. | |||
; TypeOfAccess (USHORT) - input : A request for or release of access to a port. | |||
'''Value Definition''' | '''Value Definition''' | ||
0 Request access | 0 Request access | ||
1 Release access. | 1 Release access. | ||
; FirstPort (USHORT) - input : Starting (low) number in a contiguous range or a single port. | |||
; FirstPort (USHORT) - input : Starting (low) number in a contiguous range or a single port. | |||
; LastPort (USHORT) - input : Ending (high) number in a contiguous range or a single port. If only one port is being used, FirstPort and LastPort should both be set to this port. | ; LastPort (USHORT) - input : Ending (high) number in a contiguous range or a single port. If only one port is being used, FirstPort and LastPort should both be set to this port. | ||
==Return Code== | ==Return Code== | ||
rc (USHORT) - return | rc (USHORT) - return | ||
Return code descriptions are: | Return code descriptions are: | ||
* 0 NO_ERROR | |||
* 0 | * 5 ERROR_ACCESS_DENIED | ||
* 5 | |||
==Remarks== | ==Remarks== | ||
Note that CLI/STI privilege is also granted automatically. There is no need to make an additional call to DosCLIAccess. | Note that CLI/STI privilege is also granted automatically. There is no need to make an additional call to [[DosCLIAccess]]. | ||
Applications that perform I/O to port(s) in IOPL segments must request port access from the operating system. | Applications that perform I/O to port(s) in IOPL segments must request port access from the operating system. | ||
Line 68: | Line 57: | ||
</PRE> | </PRE> | ||
==Related Functions== | ==Related Functions== | ||
* | *[[DosCLIAccess]] | ||
[[Category: | [[Category:Dos]] |
Revision as of 10:03, 14 February 2017
This call requests or releases access to ports for I/O privilege.
This function has been eliminated since OS/2 2.0.
Syntax
DosPortAccess (Reserved, TypeOfAccess, FirstPort, LastPort)
Parameters
- Reserved (USHORT) - input
- Must be set to zero.
- TypeOfAccess (USHORT) - input
- A request for or release of access to a port.
Value Definition 0 Request access 1 Release access.
- FirstPort (USHORT) - input
- Starting (low) number in a contiguous range or a single port.
- LastPort (USHORT) - input
- Ending (high) number in a contiguous range or a single port. If only one port is being used, FirstPort and LastPort should both be set to this port.
Return Code
rc (USHORT) - return
Return code descriptions are:
- 0 NO_ERROR
- 5 ERROR_ACCESS_DENIED
Remarks
Note that CLI/STI privilege is also granted automatically. There is no need to make an additional call to DosCLIAccess.
Applications that perform I/O to port(s) in IOPL segments must request port access from the operating system.
An application with no IOPL segments that accesses a device through a device driver or by an interface package such as VIO, does not need to issue this call. The device driver or interface package is responsible for obtaining the necessary I/O access.
Example Code
C Binding
#define INCL_DOSDEVICES USHORT rc = DosPortAccess(Reserved, TypeOfAccess, FirstPort, LastPort); USHORT 0; /* 0 */ USHORT TypeOfAccess; /* Request or release */ USHORT FirstPort; /* First port number */ USHORT LastPort; /* Last port number */ USHORT rc; /* return code */
MASM Binding
EXTRN DosPortAccess:FAR INCL_DOSDEVICES EQU 1 PUSH WORD 0 ;Reserved (must be zero) PUSH WORD TypeOfAccess ;Request or release PUSH WORD FirstPort ;First port number PUSH WORD LastPort ;Last port number CALL DosPortAccess Returns WORD