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

subyte64 Kernel Service

Purpose

Stores a byte of data in user memory.

Syntax

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

int subyte64 ( uaddr64, c )
unsigned long long uaddr64;
char c;

Parameter

uaddr64 Specifies the address of user data.
c Specifies the character to store.

Description

The subyte64 kernel service stores a byte of data at the specified address in user memory. It is provided so that system calls and device heads can safely access user data. The subyte64 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 subyte64 service should be called only while executing in kernel mode in the user process.

Execution Environment

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

Return Values

0 Indicates successful completion.
-1 Indicates a uaddr64 parameter that is not valid because:
The user does not have sufficient authority to access the data, or
The address is not valid, or
An I/O error occurs while referencing the user data.

Implementation Specifics

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

Related Information

The fubyte64 kernel service, fuword64 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 ]