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 5L Version 5.2 Kernel Extensions and Device Support Programming Concepts lists the systems calls that can be called by kernel extensions.
Kernel Service | Purpose |
---|---|
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 Direct Memory Access (DMA) buffers. |
d_cflush | Flushes the processor and I/O controller (IOCC) data caches when using the long term DMA_WRITE_ONLY mapping of 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 communication network interface drivers. |
net_start_done | Starts the done notification handler for communications I/O device handlers. |
net_wakeup | Wakes up all sleepers waiting on the specified wait channel. |
net_xmit | Transmits data using a 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. |
Kernel Service | Purpose |
---|---|
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. The dmp_ctl kernel service should now be used. |
dmp_ctl | Adds and removes entries to the master dump table. |
dmp_del | Deletes an entry from the master dump table. The dmp_ctl kernel service should now be used. |
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 | Unregisters expected mbuf structure usage. |
m_reg | Registers expected mbuf usage. |
net_attach | Opens a communications I/O device handler. |
net_detach | Closes a communications I/O device handler. |
net_sleep | Sleeps on the specified wait channel. |
net_start | Starts network IDs on a 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. |
proch_reg | Registers a callout handler. |
proch_unreg | Unregisters a callout handler that was previously registered using the proch_reg kernel service. |
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. |
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_galloc | Allocates a region of global memory in the 64-bit kernel. |
vm_gfree | Frees a region of global memory in the kernel previously allocated with the vm_galloc kernel service. |
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. |