[ Previous | Next | Contents | Home | Search ]
AIX Version 4.3 Kernel and Subsystems Technical Reference, Volume 1

fubyte64 Kernel Service

Purpose

Retrieves a byte of data from user memory.

Syntax

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/uio.h>

int fubyte64 (uaddr64)
unsigned long long uaddr64;

Parameter

uaddr64 Specifies the address of user data.

Description

The fubyte64 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 fubyte64 service ensures that the user has the appropriate authority to:

This service will operate correctly for both 32-bit and 64-bit user address spaces. The uaddr64 parameter is interpreted as being a non-remapped 32-bit address for the case where the current user address space is 32- bits. If the current user address space is 64-bits, then uaddr64 is treated as a 64-bit address.

The fubyte64 service should be called only while executing in kernel mode in the user process.

Execution Environment

The fubyte64 kernel service can be called from the process environment only.

Return Values

When successful, the fubyte64 service returns the specified byte.

-1
Indicates a uaddr64 parameter that is not valid.

The access is not valid under the following circumstances:

Implementation Specifics

The fubyte64 kernel service is part of Base Operating System (BOS) Runtime.

Related Information

The fuword64 kernel service, subyte64 kernel service, and suword64 kernel service.

Accessing User-Mode Data While in Kernel Mode and Memory Kernel Services in AIX Version 4 Kernel Extensions and Device Support Programming Concepts.


[ Previous | Next | Contents | Home | Search ]