dos.library: Fix C:AddDataTypes on OS 3.9
[AROS.git] / rom / dos / waitforchar.c
blob0768bfffdaf1321fd372c7c86c2c5e207b8fe026
1 /*
2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: Waits for a character to arrive at a filehandle.
6 Lang: English
7 */
8 #include <proto/exec.h>
9 #include "dos_intern.h"
11 /*****************************************************************************
13 NAME */
14 #include <proto/dos.h>
15 #include <exec/types.h>
17 AROS_LH2(LONG, WaitForChar,
19 /* SYNOPSIS */
20 AROS_LHA(BPTR, file, D1),
21 AROS_LHA(LONG, timeout, D2),
23 /* LOCATION */
24 struct DosLibrary *, DOSBase, 34, Dos)
26 /* FUNCTION
27 Wait for a character to arrive at a filehandle. The filehandle
28 can be either a console handle, or a regular file. For a regular
29 file most filesystems will return a character immediately, but
30 sometimes (for example a network handler) the character may not
31 have arrived.
33 INPUTS
34 file - File to wait for a character on.
35 timeout - Number of microseconds to wait for the character
36 to arrive. A value of 0 says to wait indefinately.
37 RESULT
38 != 0 if a character arrived before the timeout expired
39 == 0 if no character arrived
41 NOTES
42 Many filesystems do not implement this function.
44 EXAMPLE
46 BUGS
48 SEE ALSO
50 INTERNALS
52 *****************************************************************************/
54 AROS_LIBFUNC_INIT
56 struct FileHandle *fh = (struct FileHandle *)BADDR(file);
57 LONG status;
59 /* NULL-pointers are okay. */
60 if(file == BNULL)
61 return 0;
63 status = dopacket1(DOSBase, NULL, fh->fh_Type, ACTION_WAIT_CHAR, timeout);
64 return status;
66 AROS_LIBFUNC_EXIT
67 } /* WaitForChar */