z/OS UNIX System Services File System Interface Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


osi_copyin — Move data from a user buffer to a PFS buffer

z/OS UNIX System Services File System Interface Reference
SA23-2285-00

Function

The osi_copyin service moves a block of data from a user buffer to a PFS buffer.

Requirements

Operation Environment
Authorization: Supervisor state; any PSW key
Dispatchable unit mode: Task or SRB
Cross memory mode: Any
AMODE: 31-bit
ASC mode: Any
Interrupt status: Enabled for interrupts
Locks: Unlocked
Control parameters: All parameters must be addressable by the caller and in the primary address space.

Format

     osi_copyin(Destination_buffer,
                Destination_ALET,
                Source_buffer,
                Source_ALET,
                Source_key,
                Move_length,
                Return_value,
                Return_code,
                Reason_code);

Parameters

Destination_buffer
Supplied parameter
Type:
Char
Length:
Value specified by Move_length.

The name of the buffer in the PFS to which data is copied.

Destination_ALET
Supplied parameter
Type:
Integer
Length:
Fullword

The ALET for the specified Destination_buffer in the PFS.

Source_buffer
Supplied parameter
Type:
Char
Length:
Value specified by Move_length.

The name of the buffer in the user address space from which data is copied.

Source_ALET
Supplied parameter
Type:
Integer
Length:
Fullword

The ALET for the specified Source_buffer in the user address space.

Source_key
Supplied parameter
Type:
Integer
Length:
Fullword

The storage key for the Source_buffer in the user address space. The specified key should be in the last 4 bits of the word. The key is typically the same value as the key stored in the UIO field UIO.u_key.

Move_length
Supplied parameter
Type:
Integer
Length:
Fullword

The number of bytes to move.

Return_value
Returned parameter
Type:
Integer
Length:
Fullword
A fullword in which the osi_copyin service returns the results of the request, as one of the following:
Return_value
Meaning
-1
The operation was not successful. The Return_code and Reason_code parameters contain the values returned by the service.
0
The operation was successful.
Return_code
Returned parameter
Type:
Integer
Length:
Fullword

A fullword in which the osi_copyin service stores the return code. The osi_copyin service returns Return_code only if Return_value is -1. See z/OS UNIX System Services Messages and Codes for a complete list of supported return code values.

The osi_copyin operation supports the following error value:
Return_code Explanation
EFAULT A specified buffer address is not in addressable storage.
Reason_code
Returned parameter
Type:
Integer
Length:
Fullword

A fullword in which the osi_copyin service stores the reason code. The osi_copyin service returns Return_code only if Return_value is -1. Reason_code further qualifies the Return_code value. The reason codes are described in z/OS UNIX System Services Messages and Codes.

Usage notes

  1. The address of the osi_copyin routine is passed to the PFS in the OSIT structure when the PFS is initialized.
  2. The storage key for the destination buffer can be any storage key.

Characteristics and restrictions

This routine must be used only on the dispatchable unit (task or SRB) that made the vnode or VFS call because the service requires the use of the cross-memory environment of the calling dispatchable unit.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014