This list provides the names of all available kernel services. It is divided by the execution environment from which each kernel service can be called:
"System Calls Available to Kernel Extensions" in AIX Version 4.3 Kernel Extensions and Device Support Programming Concepts lists the systems calls that can be called by kernel extensions.
add_domain_af | Adds an address family to the Address Family domain switch table. |
add_input_type | Adds a new input type to the Network Input table. |
add_netisr | Adds a network software interrupt service to the Network Interrupt table. |
add_netopt | Adds a network option structure to the list of network options. |
bdwrite | Releases the specified buffer after marking it for delayed write. |
brelse | Frees the specified buffer. |
clrbuf | Sets the memory for the specified buffer structure's buffer to all zeros. |
clrjmpx | Removes a saved context by popping the most recently saved jump buffer from the list of saved contexts. |
curtime | Reads the current time into a time structure. |
d_align | Assists in allocation of DMA buffers. |
d_cflush | Flushes the processor and I/O controller (IOCC) data caches when using the long term DMA_WRITE_ONLY mapping of Direct Memory Access (DMA) buffers approach to bus device DMA. |
d_clear | Frees a DMA channel. |
d_complete | Cleans up after a DMA transfer. |
d_init | Initializes a DMA channel. |
d_mask | Disables a DMA channel. |
d_master | Initializes a block-mode DMA transfer for a DMA master. |
d_move | Provides consistent access to system memory that is accessed asynchronously by a device and by the processor. |
d_roundup | Assists in allocation of DMA buffers. |
d_slave | Initializes a block-mode DMA transfer for a DMA slave. |
d_unmask | Enables a DMA channel. |
del_domain_af | Deletes an address family from the Address Family domain switch table. |
del_input_type | Deletes an input type from the Network Input table. |
del_netisr | Deletes a network software interrupt service routine from the Network Interrupt table. |
del_netopt | Deletes a network option structure from the list of network options. |
devdump | Calls a device driver dump-to-device routine. |
devstrat | Calls a block device driver's strategy routine. |
devswqry | Checks the status of a device switch entry in the device switch table. |
DTOM macro | Converts an address anywhere within an mbuf structure to the head of that mbuf structure. |
et_post | Notifies a kernel thread of the occurrence of one or more events. |
e_wakeup | Notifies processes waiting on a shared event of the event's occurrence. |
errsave and errlast | Allows the kernel and kernel extensions to write to the error log. |
find_input_type | Finds the given packet type in the Network Input Interface switch table and distributes the input packet according to the table entry for that type. |
getc | Retrieves a character from a character list. |
getcb | Removes the first buffer from a character list and returns the address of the removed buffer. |
getcbp | Retrieves multiple characters from a character buffer and places them at a designated address. |
getcf | Retrieves a free character buffer. |
getcx | Returns the character at the end of a designated list. |
geterror | Determines the completion status of the buffer. |
getexcept | Allows kernel exception handlers to retrieve additional exception information. |
getpid | Gets the process ID of the current process. |
i_disable | Disables all of the interrupt levels at a particular interrupt priority and all interrupt levels at a less-favored interrupt priority. |
i_enable | Enables all of the interrupt levels at a particular interrupt priority and all interrupt levels at a more-favored interrupt priority. |
i_mask | Disables an interrupt level. |
i_reset | Resets the system's hardware interrupt latches. |
i_sched | Schedules off-level processing. |
i_unmask | Enables an interrupt level. |
if_attach | Adds a network interface to the network interface list. |
if_detach | Deletes a network interface from the network interface list. |
if_down | Marks an interface as down. |
if_nostat | Zeroes statistical elements of the interface array in preparation for an attach operation. |
ifa_ifwithaddr | Locates an interface based on a complete address. |
ifa_ifwithdstaddr | Locates the point-to-point interface with a given destination address. |
ifa_ifwithnet | Locates an interface on a specific network. |
ifunit | Returns a pointer to the ifnet structure of the requested interface. |
io_att | Selects, allocates, and maps a region in the current address space for I/O access. |
io_det | Unmaps and deallocates the region in the current address space at the given address. |
iodone | Performs block I/O completion processing. |
IS64U | Determines if the current user-address space is 64-bit or not. |
kgethostname | Retrieves the name of the current host. |
kgettickd | Retrieves the current status of the systemwide time-of-day timer-adjustment values. |
ksettickd | Sets the current status of the systemwide timer-adjustment values. |
loifp | Returns the address of the software loopback interface structure. |
longjmpx | Allows exception handling by causing execution to resume at the most recently saved context. |
looutput | Sends data through a software loopback interface. |
m_adj | Adjusts the size of an mbuf chain. |
m_cat | Appends one mbuf chain to the end of another. |
m_clattach | Allocates an mbuf structure and attaches an external cluster. |
m_clget macro | Allocates a page-sized mbuf structure cluster. |
m_clgetm | Allocates and attaches an external buffer. |
m_collapse | Guarantees that an mbuf chain contains no more than a given number of mbuf structures. |
m_copy macro | Creates a copy of all or part of a list of mbuf structures. |
m_copydata | Copies data from an mbuf chain to a specified buffer. |
m_copym | Creates a copy of all or part of a list of mbuf structures. |
m_free | Frees an mbuf structure and any associated external storage area. |
m_freem | Frees an entire mbuf chain. |
m_get | Allocates a memory buffer from the mbuf pool. |
m_getclr | Allocates and zeros a memory buffer from the mbuf pool. |
m_getclust macro | Allocates an mbuf structure from the mbuf buffer pool and attaches a page-sized cluster. |
m_getclustm | Allocates an mbuf structure from the mbuf buffer pool and attaches a cluster of the specified size. |
m_gethdr | Allocates a header memory buffer from the mbuf pool. |
M_HASCL macro | Determines if an mbuf structure has an attached cluster. |
m_pullup | Adjusts an mbuf chain so that a given number of bytes is in contiguous memory in the data area of the head mbuf structure. |
MTOCL macro | Converts a pointer to an mbuf structure to a pointer to the head of an attached cluster. |
MTOD macro | Converts a pointer to an mbuf structure to a pointer to the data stored in that mbuf structure. |
M_XMEMD macro | Returns the address of an mbuf cross-memory descriptor. |
net_error | Handles errors for AIX communication network interface drivers. |
net_start_done | Starts the done notification handler for AIX communications I/O device handlers. |
net_wakeup | Wakes up all sleepers waiting on the specified wait channel. |
net_xmit | Transmits data using an AIX communications I/O device handler. |
net_xmit_trace | Traces transmit packets. This kernel service was added for those network interfaces that choose not to use the net_xmit kernel service to trace transmit packets. |
panic | Crashes the system. |
pfctlinput | Invokes the ctlinput function for each configured protocol. |
pffindproto | Returns the address of a protocol switch table entry. |
pidsig | Sends a signal to a process. |
pgsignal | Sends a signal to a process group. |
pio_assist | Provides a standardized programmed I/O exception handling mechanism for all routines performing programmed I/O. |
putc | Places a character at the end of a character list. |
putcb | Places a character buffer at the end of a character list. |
putcbp | Places several characters at the end of a character list. |
putcf | Frees a specified buffer. |
putcfl | Frees the specified list of buffers. |
putcx | Places a character on a character list. |
raw_input | Builds a raw_header structure for a packet and sends both to the raw protocol handler. |
raw_usrreq | Implements user requests for raw protocols. |
rtalloc | Allocates a route. |
rtfree | Frees the routing table entry. |
rtinit | Sets up a routing table entry, typically for a network interface. |
rtredirect | Forces a routing table entry with the specified destination to go through the given gateway. |
rtrequest | Carries out a request to change the routing table. |
schednetisr | Schedules or invokes a network software interrupt service routine. |
selnotify | Wakes up processes waiting in a poll or select subroutine or the fp_poll kernel service. |
setjmpx | Allows saving the current execution state or context. |
setpinit | Sets the parent of the current kernel process to the init process. |
tfree | Deallocates a timer request block. |
timeout | Schedules a function to be called after a specified interval. |
trcgenk | Records a trace event for a generic trace channel. |
trcgenkt | Records a trace event, including a time stamp, for a generic trace channel. |
tstart | Submits a timer request. |
tstop | Cancels a pending timer request. |
uexblock | Makes a process non-runnable when called from a user-mode exception handler. |
uexclear | Makes a process blocked by the uexblock service runnable again. |
unpin | Unpins the address range in system (kernel) address space. |
unpinu | Unpins the specified address range in user or system memory. |
untimeout | Cancels a pending timer request. |
vm_att | Maps a specified virtual memory object to a region in the current address space. |
vm_det | Unmaps and deallocates the region in the current address space that contains a given address. |
xmdetach | Detaches from a user buffer used for cross-memory operations. |
xmemdma | Prepares a page for DMA I/O or processes a page after DMA I/O is complete. |
xmemin | Performs a cross-memory move by copying data from the specified address space to kernel global memory. |
xmemout | Performs a cross-memory move by copying data from kernel global memory to a specified address space. |
as_att | Selects, allocates, and maps a region in the specified address space for the specified virtual memory object. |
as_att64 | Allocates and maps a specified region in the current user address space. |
as_det | Unmaps and deallocates a region in the specified address space that was mapped with the as_att kernel service. |
as_det64 | Unmaps and deallocates a region in the current user address space that was mapped with the as_att64 kernel service. |
as_geth64 | Obtains a handle to the virtual memory object for the specified address. |
as_getsrval64 | Obtains a handle to the virtual memory object for the specified address. |
as_puth64 | Indicates that no more references will be made to a virtual memory object obtained using the as_geth64 kernel service. |
as_remap64 | Remaps an additional 64-bit address to a 32-bit address that can be used by the kernel. |
as_seth64 | Maps a specified region for the specified virtual memory object. |
as_unremap64 | Returns the 64-bit original or unremapped address associated with a 32-bit remapped address. |
audit_svcbcopy | Appends event information to the current audit event buffer. |
audit_svcfinis | Writes an audit record for a kernel service. |
audit_svcstart | Initiates an audit record for a system call. |
bawrite | Writes the specified buffer's data without waiting for I/O to complete. |
bflush | Flushes all write-behind blocks on the specified device from the buffer cache. |
binval | Invalidates all of a specified device's data in the buffer cache. |
blkflush | Flushes the specified block if it is in the buffer cache. |
bread | Reads the specified block's data into a buffer. |
breada | Reads in the specified block and then starts I/O on the read-ahead block. |
bwrite | Writes the specified buffer's data. |
cfgnadd | Registers a notification routine to be called when system-configurable variables are changed. |
cfgndel | Removes a notification routine for receiving broadcasts of changes to system configurable variables. |
copyin | Copies data between user and kernel memory. |
copyin64 | Copies data between user and kernel memory. |
copyinstr | Copies a character string (including the terminating NULL character) from user to kernel space. |
copyinstr64 | Copies data between user and kernel memory. |
copyout | Copies data between user and kernel memory. |
copyout64 | Copies data between user and kernel memory. |
creatp | Creates a new kernel process. |
delay | Suspends the calling process for the specified number of timer ticks. |
devswadd | Adds a device entry to the device switch table. |
devswdel | Deletes a device driver entry from the device switch table. |
dmp_add | Specifies data to be included in a system dump by adding an entry to the master dump table. |
dmp_del | Deletes an entry from the master dump table. |
dmp_prinit | Initializes the remote dump protocol. |
e_sleep | Forces a process to wait for the occurrence of a shared event. |
e_sleepl | Forces a process to wait for the occurrence of a shared event. |
et_wait | Forces a process to wait for the occurrence of an event. |
enque | Sends a request queue element to a device queue. |
fp_access | Checks for access permission to an open file. |
fp_close | Closes a file. |
fp_fstat | Gets the attributes of an open file. |
fp_getdevno | Gets the device number and/or channel number for a device. |
fp_getf | Retrieves a pointer to a file structure. |
fp_hold | Increments the open count for a specified file pointer. |
fp_ioctl | Issues a control command to an open device or file. |
fp_lseek | Changes the current offset in an open file. |
fp_open | Opens a regular file or directory. |
fp_opendev | Opens a device special file. |
fp_poll | Checks the I/O status of multiple file pointers/descriptors and message queues. |
fp_read | Performs a read on an open file with arguments passed. |
fp_readv | Performs a read operation on an open file with arguments passed in iovec elements. |
fp_rwuio | Performs read and write on an open file with arguments passed in a uio structure. |
fp_select | Provides for cascaded, or redirected, support of the select or poll request. |
fp_write | Performs a write operation on an open file with arguments passed. |
fp_writev | Performs a write operation on an open file with arguments passed in iovec elements. |
fubyte | Fetches, or retrieves, a byte of data from user memory. |
fubyte64 | Retrieves a byte of data from user memory. |
fuword | Fetches, or retrieves, a word of data from user memory. |
fuword64 | Retrieves a word of data from user memory. |
getadsp | Obtains a pointer to the current process's address space structure for use with the as_att and as_det kernel services. |
getblk | Assigns a buffer to the specified block. |
geteblk | Allocates a free buffer. |
getppidx | Gets the parent process ID of the specified process. |
getuerror | Allows kernel extensions to retrieve the current value of the u_error field. |
gfsadd | Adds a file system type to the gfs table. |
gfsdel | Removes a file system type from the gfs table. |
i_clear | Removes an interrupt handler from the system. |
i_init | Defines an interrupt handler to the system, connects it to an interrupt level, and assigns an interrupt priority to the level. |
init_heap | Initializes a new heap to be used with kernel memory management services. |
initp | Changes the state of a kernel process from idle to ready. |
iostadd | Registers an I/O statistics structure used for updating I/O statistics reported by the iostat subroutine. |
iostdel | Removes the registration of an I/O statistics structure used for maintaining I/O statistics on a particular device. |
iowait | Waits for block I/O completion. |
kmod_entrypt | Returns a function pointer to a kernel module's entry point. |
kmod_load | Loads an object file into the kernel or queries for an object file already loaded. |
kmod_unload | Unloads a kernel object file. |
kmsgctl | Provides message queue control operations. |
kmsgget | Obtains a message queue identifier. |
kmsgrcv | Reads a message from a message queue. |
kmsgsnd | Sends a message using a previously defined message queue. |
ksettimer | Sets the systemwide time-of-day timer. |
lockl | Locks a conventional process lock. |
lookupvp | Retrieves the vnode that corresponds to the named path. |
m_dereg | Deregisters expected mbuf structure usage. |
m_reg | Registers expected mbuf usage. |
net_attach | Opens an AIX communications I/O device handler. |
net_detach | Closes an AIX communications I/O device handler. |
net_sleep | Sleeps on the specified wait channel. |
net_start | Starts network IDs on an AIX communications I/O device handler. |
NLuprintf | Submits a request to print an internationalized message to the controlling terminal of a process. |
pin | Pins the address range in the system (kernel) space. |
pincf | Manages the list of free character buffers. |
pincode | Pins the code and data associated with an object file. |
pinu | Pins the specified address range in user or system memory. |
prochadd | Adds a systemwide process state-change notification routine. |
prochdel | Deletes a process state change notification routine. |
purblk | Invalidates a specified block's data in the buffer cache. |
remap_64 | Registers the input remapping of one or more addresses for the duration of a system call for a 64-bit process. |
rmmap_create64 | Defines an Effective Address [EA] to Real Address [RA] translation region for either 64-bit or 32-bit Effective Addresses. |
rmmap_remove64 | Destroys an effective address to real address translation region. |
setuerror | Allows kernel extensions to set the u_error field in the u area. |
sig_chk | Provides a kernel process the ability to poll for receipt of signals. |
sleep | Forces the calling process to wait on a specified channel. |
subyte | Stores a byte of data in user memory. |
subyte64 | Stores a byte of data in user memory. |
suser | Determines the privilege state of a process. |
suword | Stores a word of data in user memory. |
suword64 | Stores a word of data in user memory. |
talloc | Allocates a timer request block before starting a timer request. |
timeoutcf | Allocates or deallocates callout table entries for use with the timeout kernel service. |
uexadd | Adds a systemwide exception handler for catching user-mode process exceptions. |
uexdel | Deletes a previously added systemwide user-mode exception handler. |
ufdcreate | Provides a file interface to kernel services. |
uiomove | Moves a block of data between kernel space and a space defined by a uio structure. |
unlockl | Unlocks a conventional process lock. |
unpincode | Unpins the code and data associated with an object file. |
uprintf | Submits a request to print a message to the controlling terminal of a process. |
uphysio | Performs character I/O for a block device using a uio structure. |
ureadc | Writes a character to a buffer described by a uio structure. |
uwritec | Retrieves a character from a buffer described by a uio structure. |
vec_clear | Removes a virtual interrupt handler. |
vec_init | Defines a virtual interrupt handler. |
vfsrele | Points to a virtual file system structure. |
vm_cflush | Flushes the processor's cache for a specified address range. |
vm_handle | Constructs a virtual memory handle for mapping a virtual memory object with specified access level. |
vm_makep | Makes a page in client storage. |
vm_mount | Adds a file system to the paging device table. |
vm_move | Moves data between a virtual memory object and a buffer specified in the uio structure. |
vm_protectp | Sets the page protection key for a page range. |
vm_qmodify | Determines whether a mapped file has been changed. |
vm_release | Releases virtual memory resources for the specified address range. |
vm_releasep | Releases virtual memory resources for the specified page range. |
vm_uiomove | Moves data between a virtual memory object and a buffer specified in the uio structure. |
vm_umount | Removes a file system from the paging device table. |
vm_write | Initiates page-out for a page range in the address space. |
vm_writep | Initiates page-out for a page range in a virtual memory object. |
vms_create | Creates a virtual memory object of the type and size and limits specified. |
vms_delete | Deletes a virtual memory object. |
vms_iowait | Waits for the completion of all page-out operations for pages in the virtual memory object. |
vn_free | Frees a vnode previously allocated by the vn_get kernel service. |
vn_get | Allocates a virtual node and inserts it into the list of vnodes for the designated virtual file system. |
waitcfree | Checks the availability of a free character buffer. |
waitq | Waits for a queue element to be placed on a device queue. |
w_clear | Removes a watchdog timer from the list of watchdog timers known to the kernel. |
w_init | Registers a watchdog timer with the kernel. |
w_start | Starts a watchdog timer. |
w_stop | Stops a watchdog timer. |
xmalloc | Allocates memory. |
xmattach | Attaches to a user buffer for cross-memory operations. |
xmattach64 | Attaches to a user buffer for cross-memory operations. |
xmfree | Frees allocated memory. |