This list is divided into parts based on the execution environment from which each kernel service can be called:
"System Calls Available to Kernel Extensions" lists the systems calls that can be called by kernel extensions.
Click here to go directly to a part of the list:
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. |
as_getsrval | Obtains a handle to the virtual memory object for the specified address given in the specified address space. |
bdwrite | Releases the specified buffer after marking it for delayed write. |
brelse | Frees the specified buffer. |
_check_lock | Conditionally updates a single word variable atomically, issuing an import fence for multiprocessor systems. |
_clear_lock | Atomically writes a single word variable, issuing an export fence for multiprocessor systems. |
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. |
compare_and_swap | Conditionally updates or returns a single word variable atomically. |
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 on the system. |
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. |
disable_lock | Raises the interrupt priority, and locks a simple lock if necessary. |
DTOM macro | Converts an address anywhere within an mbuf structure to the head of that mbuf structure. |
e_clear_wait | Clears the wait condition for a kernel thread. |
e_wakeup, e_wakeup_one, or e_wakeup_w_result | |
Notifies kernel threads waiting on a shared event of the event's occurrence. | |
e_wakeup_w_sig | Posts a signal to sleeping kernel threads. |
errsave and errlast | Allows the kernel and kernel extensions to write to the error log. |
et_post | Notifies a kernel thread of the occurrence of one or more events. |
fetch_and_add | Increments a single word variable atomically. |
fetch_and_and, fetch_and_or | |
Manipulates bits in a single word variable atomically. | |
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 | Zeros 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. |
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. |
kthread_kill | Posts a signal to a specified kernel thread. |
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. |
pci_cfgrw | Reads and writes PCI bus slot configuration registers. |
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. |
pm_planar_control | Controls power of a specified device on the planar. |
pm_register_handle | Registers and unregisters Power Management handle. |
pm_register_planar_control_handle | |
Registers and unregisters a planar control subroutine. | |
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. |
No services starting with q in this 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. |
_safe_fetch | Atomically reads a single word variable, issuing an import fence for multiprocessor systems. |
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. |
thread_self | Returns the caller's kernel thread ID. |
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 kernel thread non-runnable when called from a user-mode exception handler. |
uexclear | Makes a kernel thread blocked by the uexblock service runnable again. |
unlock_enable | Unlocks a simple lock if necessary, and restores the interrupt priority. |
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. |
xmemunpin | Unpins the specified address range in user or system memory, given a valid cross-memory descriptor. |
Click here to go directly to a part of the list:
as_att | Selects, allocates, and maps a region in the specified address space for the specified virtual memory object. |
as_det | Unmaps and deallocates a region in the specified address space that was mapped with the as_att kernel service. |
as_geth | Obtains a handle to the virtual memory object for the specified address given in the specified address space. The virtual memory object is protected. |
as_puth | Indicates that no more references will be made to a virtual memory object that was obtained using the as_geth kernel service. |
as_seth | Maps a specified region in the specified address space for the specified virtual memory object |
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. |
bindprocessor | Binds a process or thread to a processor. |
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. |
copyinstr | Copies a character string (including the terminating NULL character) from user to kernel space. |
copyout | 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_assert_wait | Asserts that the calling thread is going to sleep. |
e_block_thread | Blocks the calling thread. |
e_sleep, e_sleepl, or e_sleep_thread | |
Forces the calling thread to wait the occurrence of a shared event. | |
et_wait | Forces the caller to wait for the occurrence of an event. |
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_llseek | Changes the current offset in an open file. Used to access offsets beyond 2GB. |
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. |
fuword | Fetches, or 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 ut_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. |
kthread_start | Starts a previously created kernel-only thread. |
limit_sigs | Changes the signal mask for the calling thread. |
lock_alloc | Allocates memory for a simple or complex lock. |
lock_clear_recursive | Prevents a complex lock from being acquired recursively. |
lock_done | Releases a complex lock. |
lock_free | Frees the memory of a simple or complex lock. |
lock_init | Initializes a complex lock. |
lock_islocked | Tests whether a complex lock is locked. |
lock_mine | Checks whether a simple or complex lock is owned by the caller. |
lock_read, lock_try_read | Locks a complex lock in shared-read mode. |
lock_read_to_write, lock_try_read_to_write | |
Upgrades a complex lock from shared-read mode to exclusive-write mode. | |
lock_set_recursive | Prepares a complex lock for recursive use. |
lock_write, lock_try_write | Locks a complex lock in exclusive-write mode. |
lock_write_to_read | Downgrades a complex lock from exclusive-write mode to shared-read mode. |
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 communications I/O device handler. |
net_detach | Closes an communications I/O device handler. |
net_sleep | Sleeps on the specified wait channel. |
net_start | Starts network IDs on an 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. |
There is no service beginning with q | |
rusage_incr | Increments a field of the rusage structure. |
setuerror | Allows kernel extensions to set the ut _error field in the u area. |
sig_chk | Provides the calling kernel thread the ability to poll for receipt of signals. |
sigsetmask | Changes the signal mask for the calling kernel thread. |
simple_lock_init | Initializes a simple lock. |
simple_lock, simple_lock_try | |
Locks a simple lock. | |
simple_unlock | Unlocks a simple lock. |
sleep | Forces the calling kernel thread to wait on a specified channel. |
subyte | 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. |
talloc | Allocates a timer request block before starting a timer request. |
thread_create | Creates a new process thread in the calling process. |
thread_setsched | Sets process kernel thread scheduling parameters. |
thread_terminate | Terminates the calling process kernel thread. |
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. |
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_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. |
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. |
xmempin | Pins the specified address range in user or system memory, given a valid cross-memory descriptor. |
xmfree | Frees allocated memory. |