Low level input and output operations. More...
 
 | 
Defines | |
| #define | _O_RDONLY 0x0000 | 
| #define | _O_WRONLY 0x0001 | 
| #define | _O_RDWR 0x0002 | 
| #define | _O_APPEND 0x0008 | 
| #define | _O_CREAT 0x0100 | 
| #define | _O_TRUNC 0x0200 | 
| #define | _O_EXCL 0x0400 | 
| #define | _O_TEXT 0x4000 | 
| #define | _O_BINARY 0x8000 | 
| #define | IOCTL_GETSTATUS 0x0001 | 
| #define | IOCTL_SETSTATUS 0x0002 | 
| #define | IOCTL_SETBUFFERMODE 0x0003 | 
| #define | IOCTL_GETBUFFERMODE 0x0004 | 
| #define | IOCTL_GETOUTBUFSIZE 0x0005 | 
| #define | IOCTL_SETOUTBUFSIZE 0x0006 | 
| #define | IOCTL_GETINBUFSIZE 0x0007 | 
| #define | IOCTL_SETINBUFSIZE 0x0008 | 
| #define | IOCTL_FLUSHOUTBUF 0x0009 | 
| Flush the output buffer.   | |
| #define | IOCTL_GETFILESIZE 0x000A | 
| Return the number of bytes currently available in the input buffer.   | |
| #define | IOCTL_GETOUTBUFCOUNT 0x000B | 
| Return the number of bytes currently available in the input buffer.   | |
| #define | IOCTL_GETINBUFCOUNT 0x000C | 
| Return the number of bytes currently available in the output buffer.   | |
Functions | |
| int | _close (int fd) | 
| Close a file, device or socket.   | |
| long | _filelength (int fd) | 
| Return the length of a file.   | |
| int | _ioctl (int fd, int cmd, void *data) | 
| Perform device specific control functions.   | |
| int | _open (CONST char *name, int mode) | 
| Open a file.   | |
| int | _read (int fd, void *buffer, unsigned int count) | 
| Read data from a file, device or socket.   | |
| int | _seek (int fd, long offset, int origin) | 
| Move read/write position of a file.   | |
| long | _tell (int fd) | 
| Return the read/write position of a stream.   | |
| int | _write (int fd, CONST void *data, unsigned int count) | 
| Write data to a file, device or socket.   | |
| int | _write_P (int fd, PGM_P data, unsigned int count) | 
| Writes data from program space to a file, device or socket.   | |
Low level input and output operations.
 #include <io.h> 
Standard C runtime file interface to Nut/OS devices.
| #define _O_RDONLY 0x0000 | 
Read only.
Definition at line 76 of file fcntl.h.
Referenced by _fmode(), NutFtpTransferFile(), PhatDirOpen(), PhatDirRemove(), and UsartOpen().
| #define _O_WRONLY 0x0001 | 
Write only.
Definition at line 77 of file fcntl.h.
Referenced by _fmode(), NutInit(), UsartOpen(), and VsCodecOpen().
| #define _O_RDWR 0x0002 | 
Read and write.
Definition at line 78 of file fcntl.h.
Referenced by _fmode(), main(), PerCiDump(), PerCiInit(), PerCiOpen(), and PhatDirCreate().
| #define _O_APPEND 0x0008 | 
Start writing at the end.
Definition at line 79 of file fcntl.h.
Referenced by _fmode(), and PhatFileOpen().
| #define _O_CREAT 0x0100 | 
Create file if it does not exist.
Definition at line 80 of file fcntl.h.
Referenced by _fmode(), NutFtpTransferFile(), NutInit(), PerCiInit(), PhatDirCreate(), and PhatFileOpen().
| #define _O_TRUNC 0x0200 | 
Truncate file if it exists.
Definition at line 81 of file fcntl.h.
Referenced by _fmode(), NutFtpTransferFile(), NutInit(), PerCiInit(), and PhatFileOpen().
| #define _O_EXCL 0x0400 | 
Open only if it does not exist.
Definition at line 82 of file fcntl.h.
Referenced by PhatDirCreate(), and PhatFileOpen().
| #define _O_TEXT 0x4000 | 
| #define _O_BINARY 0x8000 | 
Raw mode.
Definition at line 84 of file fcntl.h.
Referenced by _fmode(), AceOpen(), main(), NutFtpTransferFile(), PerCiDump(), PerCiInit(), PerCiOpen(), TermOpen(), UartAvrOpen(), and UsartOpen().
| #define IOCTL_FLUSHOUTBUF 0x0009 | 
| #define IOCTL_GETFILESIZE 0x000A | 
Return the number of bytes currently available in the input buffer.
Definition at line 81 of file io.h.
Referenced by _filelength(), and NutTcpDeviceIOCtl().
| #define IOCTL_GETOUTBUFCOUNT 0x000B | 
Return the number of bytes currently available in the input buffer.
Definition at line 84 of file io.h.
Referenced by NutTcpDeviceIOCtl().
| #define IOCTL_GETINBUFCOUNT 0x000C | 
Return the number of bytes currently available in the output buffer.
Definition at line 87 of file io.h.
Referenced by NutTcpDeviceIOCtl().
| int _close | ( | int | fd | ) | 
Close a file, device or socket.
The calling thread may be suspended until all buffered output data has been written.
| fd | Descriptor of a previously opened file, device or connected socket. | 
Definition at line 75 of file close.c.
References _NUTDEVICE::dev_close, _NUTFILE::nf_dev, NUTASSERT, and _NUTVIRTUALDEVICE::vdv_write.
Referenced by fclose(), NutFtpTransferFile(), PerCiClose(), PerCiDump(), PerCiInit(), and PerCiOpen().
| long _filelength | ( | int | fd | ) | 
Return the length of a file.
| fd | Descriptor of a previously opened file, device or connected socket. | 
Definition at line 87 of file filelength.c.
References _NUTDEVICE::dev_size, EBADF, errno, IOCTL_GETFILESIZE, _NUTFILE::nf_dev, NUTASSERT, and _NUTVIRTUALDEVICE::vdv_ioctl.
Referenced by kbhit(), NutHttpProcessAsp(), PerCiDump(), and PerCiOpen().
| int _ioctl | ( | int | fd, | 
| int | cmd, | ||
| void * | data | ||
| ) | 
Perform device specific control functions.
Check the specific device driver for a list of supported control functions.
| fd | Descriptor of a previously opened device or connected socket. | 
| cmd | Requested control function. | 
| data | Points to a buffer that contains any data required for the given control function or receives data from that function. | 
Definition at line 80 of file ioctl.c.
References _NUTDEVICE::dev_ioctl, _NUTFILE::nf_dev, NUTASSERT, and _NUTVIRTUALDEVICE::vdv_ioctl.
Referenced by InitDebugDevice(), IpcpLowerDown(), main(), NutChatSend(), and NutNetIfConfig2().
| int _open | ( | CONST char * | name, | 
| int | mode | ||
| ) | 
Open a file.
| name | The name of a registered device, optionally followed by a colon and a filename. | 
| mode | Operation mode. May be any of the following:
  | 
Definition at line 94 of file open.c.
References CONST, _NUTDEVICE::dev_open, ENOENT, errno, NUTASSERT, and NutDeviceLookup().
Referenced by fopen(), freopen(), main(), NutFtpTransferFile(), PerCiDump(), PerCiInit(), and PerCiOpen().

| int _read | ( | int | fd, | 
| void * | buffer, | ||
| unsigned int | count | ||
| ) | 
Read data from a file, device or socket.
| fd | Descriptor of a previously opened file, device or connected socket. | 
| buffer | Pointer to the buffer that receives the data. | 
| count | Maximum number of bytes to read. | 
Definition at line 75 of file read.c.
References _NUTDEVICE::dev_read, _NUTFILE::nf_dev, NUTASSERT, and _NUTVIRTUALDEVICE::vdv_read.
| int _seek | ( | int | fd, | 
| long | offset, | ||
| int | origin | ||
| ) | 
Move read/write position of a file.
| fd | Descriptor of a previously opened file, device or connected socket. | 
| offset | Number of bytes from initial position. | 
| origin | Initial position to seek from. | 
Definition at line 73 of file seek.c.
References IOCTL_ARG3::arg1, IOCTL_ARG3::arg2, IOCTL_ARG3::arg3, _NUTDEVICE::dev_ioctl, EINVAL, errno, FS_FILE_SEEK, _NUTFILE::nf_dev, and NUTASSERT.
Referenced by fseek(), PerCiFlush(), PerCiOpen(), and PerCiWrite().
| long _tell | ( | int | fd | ) | 
Return the read/write position of a stream.
| fd | Descriptor of a previously opened file, device or connected socket. | 
Definition at line 70 of file tell.c.
References IOCTL_ARG3::arg1, IOCTL_ARG3::arg2, IOCTL_ARG3::arg3, _NUTDEVICE::dev_ioctl, EINVAL, errno, FS_FILE_SEEK, _NUTFILE::nf_dev, NUTASSERT, and SEEK_CUR.
Referenced by ftell().
| int _write | ( | int | fd, | 
| CONST void * | data, | ||
| unsigned int | count | ||
| ) | 
Write data to a file, device or socket.
| fd | Descriptor of a previously opened file, device or connected socket. | 
| data | Pointer to data in program space to be written. | 
| count | Number of bytes to write. | 
Definition at line 84 of file write.c.
References _NUTDEVICE::dev_write, _NUTFILE::nf_dev, NUTASSERT, and _NUTVIRTUALDEVICE::vdv_write.
| int _write_P | ( | int | fd, | 
| PGM_P | data, | ||
| unsigned int | count | ||
| ) | 
Writes data from program space to a file, device or socket.
Similar to _write() except that the data is located in program memory.
| fd | Descriptor of a previously opened file, device or connected socket. | 
| data | Pointer to data in program space to be written. | 
| count | Number of bytes to write. | 
Definition at line 87 of file write_p.c.
References _NUTDEVICE::dev_write_P, _NUTFILE::nf_dev, NUTASSERT, and _NUTVIRTUALDEVICE::vdv_write_P.