home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.amiga.programmer
- Path: sparky!uunet!gatech!concert!samba!usenet
- From: utoddl@guitar.oit.unc.edu (Todd M. Lewis)
- Subject: CheckIO return type
- Message-ID: <1992Aug31.125433.17195@samba.oit.unc.edu>
- Sender: usenet@samba.oit.unc.edu
- Nntp-Posting-Host: guitar.oit.unc.edu
- Organization: UNC Office of Information Technology
- Date: Mon, 31 Aug 1992 12:54:33 GMT
- Lines: 28
-
- Does CheckIO() really return a BOOL or a pointer? The 2.04 includes
- and autodocs say it returns a BOOL (FALSE) if the I/O has not
- completed, and a pointer to the IORequest block if it has. BOOLs
- are 16 bits. What happens when the IORequest block starts on a
- 64k boundary? Am I missing something here or should it really be
- declared as "struct IORequest *CheckIO( struct IORequest *);" rather
- than "BOOL CheckIO(struct IORequest *);" like the includes and
- autodocs say? Have we been through this already and I just missed it?
-
- Part of the autodoc entry follows:
- > SYNOPSIS
- > result = CheckIO(iORequest)
- > D0 A1
- >
- > BOOL CheckIO(struct IORequest *);
- >
- > FUNCTION
- > This function determines the current state of an I/O request and
- > returns FALSE if the I/O has not yet completed. [...]
- > RESULTS
- > result - NULL if I/O is still in progress. Otherwise
- > D0 points to the IORequest block.
-
- With CheckIO defined a returning a BOOL, won't it always look like
- NULL for IORequests on a 64k boundary? Doesn't the pointer get
- truncated to the low-order 16 bits?
- --
- Todd M. Lewis / utoddl@guitar.oit.unc.edu
-