fubyte Kernel Service
Purpose
Retrieves a byte of data from user memory.
Syntax
#include <sys/types.h> #include <sys/errno.h> int fubyte ( uaddr) uchar *uaddr;
Parameter
Item | Description |
---|---|
uaddr | Specifies the address of the user data. |
Description
The fubyte kernel service fetches, or retrieves, a byte of data from the specified address in user memory. It is provided so that system calls and device heads can safely access user data. The fubyte service ensures that the user has the appropriate authority to:
- Access the data.
- Protect the operating system from paging I/O errors on user data.
The fubyte service should be called only while executing in kernel mode in the user process.
Execution Environment
The fubyte kernel service can be called from the process environment only.
Return Values
When successful, the fubyte service returns the specified byte.
Item | Description |
---|---|
-1 | Indicates a uaddr parameter that is not valid. |
The access is not valid under the following circumstances:
- The user does not have sufficient authority to access the data.
- The address is not valid.
- An I/O error occurs while referencing the user data.