AquilaOS documentation
How it works, and its code
Loading...
Searching...
No Matches
Data Structures
Here are the data structures with brief descriptions:
 C[struct].irqs
 C[struct].isa
 C[struct].kargs
 C[struct].request
 C[struct].reserved
 C[struct].routes
 C[struct].unicode_extra
 Caarch64_ctxWhere a thread goes on in the kernel when it runs again: the registers that a function call keeps (AAPCS64: x19 to x29, and the link register), and the stack pointer
 Caarch64_regsWhat an exception saves on the kernel stack (cpu/vectors.S): the context it interrupted
 Caarch64_threadA thread's aarch64 state (thread->arch)
 Cacpi_gasA register's address, ACPI's Generic Address Structure
 Cacpi_hpetThe HPET table: where the HPET's registers are
 Cacpi_madtThe MADT's header: the local APICs' address, and flags
 Cacpi_madt_entryThe start of every MADT entry
 Cacpi_madt_io_apicAn I/O APIC: its registers, and the first GSI its pins bring
 Cacpi_madt_local_apicA CPU's local APIC
 Cacpi_madt_local_apic_nmiWhich local APIC input (LINT0 or LINT1) is the NMI
 Cacpi_madt_overrideAn ISA IRQ that comes on another GSI, or with another polarity or trigger mode, than the default
 Cacpi_rsdpThe Root System Description Pointer, which says where the RSDT is
 Cacpi_rsdp2ACPI 2.0's RSDP (revision 2 or more), which also says where the XSDT is, with 64-bit addresses
 Cacpi_rsdtThe RSDT: the other tables' 32-bit addresses
 Cacpi_sdt_headerThe header that every table starts with
 Cacpi_xsdtThe XSDT: the other tables' 64-bit addresses
 Carch_cpuA CPU's aarch64 state (struct cpu's arch)
 Carp_entry
 Carp_hdrAn ARP packet, for IPv4 over Ethernet
 Carp_pending
 Cata_channelAn IDE channel, with the master and slave drives on it
 Cata_driveA drive on a channel
 CbcacheA filesystem's block cache (fs/bcache.c): its blocks that were read, by their offset
 CbinfmtA format of executable files: says whether a file is one, and loads it into a process (sys/binfmt/)
 CbitmapA bitmap: its blocks, and its last bit's index
 CblkA block of the cache
 Cboot
 CbuddyOne order of a buddy allocator's zone (mm/buddy.c): a bitmap of its blocks, a set bit for a block that isn't free
 Ccache_blockA cached block
 CcalloutA function to call later, with its argument
 Ccallout_listA list of callouts called from one context: the timer's interrupt (callout_set()), or a thread that runs its own list (the network's)
 Ccmos_rtcThe real time clock's date and time, as it keeps them
 CcpioWhat cpiofs keeps for each of its vnodes, a member of the archive
 Ccpio_hdrThe header of a member of an old binary cpio archive, as it is in the archive: its name follows, then its data
 CcpuA processor, and what runs on it
 CdevA device driver: its operations, any of which may be NULL
 CdevidWhich device: its kind (S_IFCHR or S_IFBLK) and numbers
 Ce1000The controller: there is one
 CearlyconAn early console's operations
 Celf32_dynAn ELF32 dynamic section's entry
  C[union].d_un
 Celf32_hdrAn ELF32 file's header
 Celf32_phdrAn ELF32 program header: a segment to load
 Celf32_shdrAn ELF32 section header
 Celf32_symAn ELF32 symbol
 Celf64_hdrAn ELF64 file's header
 Celf64_phdrAn ELF64 program header: a segment to load
 Celf64_shdrAn ELF64 section header
 Celf64_symAn ELF64 symbol
 Cether_hdrAn Ethernet frame's header
 Cext2A mounted ext2 filesystem
 Cext2_dentryA directory entry, as it is on the disk
 Cext2_groupA block group descriptor, as it is on the disk
 Cext2_inodeAn inode, as it is on the disk
 Cext2_superblockThe superblock, as it is on the disk, 1024 bytes into it
 CfbdevA framebuffer: its driver, its screen's information, its operations
 Cfbdev_vesaThe boot loader's VBE framebuffer: what VBE said about the card and the mode (dev/fb/vesa/)
 CfdA file descriptor: the open file it refers to (fs/file.c, shared with the descriptors that dup() and fork() copied), and its own flags
 Cfd_set
 Cfdt_headerThe FDT's header (big-endian)
 CfileAn open file (POSIX's "open file description", fs/file.c)
  C[union].__unnamed0__
 Cfile_lockAn open file's lock
 CfopsAn open file's operations
 CfsA filesystem type
 Cfs_listThe list of registered filesystem types
 ChandlerAn installed handler, on its interrupt's list
 ChashmapA hash table
 Chashmap_nodeA hash table's node: an entry, with its key's hash
 Cicmp_hdrAn ICMP message's header
 Cidt_entry
 Cidt_ptr
 Cinet_sockA UDP or ping socket
 CioaddrWhere a device's registers are
 Cioapic
 CiobufAn iobuf
 Ciobuf_segA piece of an iobuf's memory
 Cipv4_hdrAn IPv4 packet's header
 CkeyboardA keyboard: the bytes it sent, waiting to be read
 Cksockaddr
 ClistA list: its first and last nodes, and how many there are
 Clist_nodeA link in a list, inside the structure that is listed
 Cmalloc_typeA malloc type: what an allocation is for, which /proc/kvmem counts by
 CmbrThe master boot record
 Cmbr_partA partition table entry
  C[struct].start_chs
  C[struct].end_chs
 CminixA mounted minix filesystem
 Cminix3_superblockThe superblock of minix v3, as it is on the disk (not supported)
 Cminix_dentryA directory entry, as it is on the disk: 0 as the inode number is an unused entry
 Cminix_inodeA minix v1 inode, as it is on the disk
 Cminix_superblockThe superblock of minix v1 and v2, as it is on the disk
 Cmmap_t
 Cmode_info_blockA VBE mode's information block
 Cmodule_t
 CmountpointA mount's description, as /proc/mounts shows it
 Cmultiboot_aout_symbol_table
 Cmultiboot_elf_section_header_table
 Cmultiboot_header
 Cmultiboot_info
  C[union].u
 Cmultiboot_mmap_entry
 Cmultiboot_mod_list
 CnetbufA packet (net/netbuf.c)
 CnetifA network interface (net/netif.c): a device that sends and receives Ethernet frames, and its IPv4 configuration
  C[struct].stats
 Cpci_addressWhat is written to CONFIG_ADDRESS: the register to reach
  C[struct].structure
 Cpci_barA base address register (BAR): where the device's registers are, how big they are, and whether they are ports or memory
 Cpci_devA PCI function: its bus, device (slot) and function numbers
 Cpci_hostThe host bridge, which the platform describes (platform_init() sets it): how its configuration space is reached, which IRQs its devices' interrupt pins are routed to, and where their registers go if no firmware placed them
 CpfWhat a page fault is about, passed to each of the steps below
 CpgroupA process group: the processes of a job
 CpipeA pipe, or a FIFO's pipe
 Cpit_cmd_registerThe PIT's command register: which channel, how it is loaded, and in which mode it counts
  C[union].__unnamed0__
   C[struct].__unnamed0__.__unnamed0__
 Cplatform_deviceA device of the platform's table
 Cpm_info_block
 CpmapAn address space's page tables, on x86
 Cpoll_regOne wait queue that one polling thread waits for
 CprdA physical region descriptor: one piece of memory to transfer
 CprocA process
 Cprocfs_entryA file of the top directory: its name, and what makes its text
 Cprocfs_proc_entryA file of a process's directory: its name, and what makes its text
 Cpseudofs_direntA directory entry, kept in memory
 CptyA pseudo-terminal
 CqnodeA queue's node, holding one entry
 CqueueA queue
 Cramdev_privA RAM disk's memory
 CringbufA ring buffer
 Crx_descA receive descriptor: a buffer, and what the controller put in it
 CsegA received segment, with its header in host byte order
 CsessionA session: its process groups, and its controlling terminal
 CsigframeA signal handler's frame, on the user stack
 CslabA slab's header, at the start of its page
 Csock_opsA domain's socket operations
 CsocketA socket
 Cstack_frameA stack frame, as the compiler lays it out with frame pointers
 Ctcp_hdrA TCP segment's header
 Ctcp_keyWhat identifies a connection: both ends' addresses and ports
 Ctcp_pcbA connection (its control block, or PCB)
 CthreadA thread
 Ctimespec
 Ctimeval
 Ctimezone
 Ctrampoline_dataWhat an AP needs to reach the kernel, at x86_trampoline_data (the fields are at trampoline.S's TR_ offsets)
 CttyA terminal, and its line discipline's state
 Ctx_descA transmit descriptor: a frame to send, and whether it was sent
 CuartA serial port
 Cuart_8250One UART: the terminal layer's struct uart (first, so that a pointer to one is a pointer to the other), and its registers
 Cudp_hdrA UDP datagram's header
 CuioWho does a filesystem operation: where its paths start, and its credentials and umask
 Cun_connA connection between a client socket and the server that accepted it
 Cun_socketA listening socket, bound to a name in the file system
 Cutimbuf
 Cvbe_info_blockThe VBE controller information block
  C[union].vbe_signature
 CvcacheA filesystem's vnode cache (fs/vcache.c): its vnodes in memory, by their inode number, so that a file has one vnode however it's reached
 Cvm_anonAn anon: a mapping's private pages, those the process wrote to
 Cvm_arefAn anon's reference to a page (an aref)
 Cvm_entryA mapping (map entry): a range of an address space, its permissions, and where its pages come from
 Cvm_objectA vm object: what a mapping's pages come from (a file), and its pages that have been read in
 Cvm_pageA page of physical memory (pages[] has one for every page of RAM)
 Cvm_pagerA vm object's pager: reads its pages in, and writes them out
 Cvm_spaceAn address space: its mappings, and its page tables
 CvmemAn arena: a range, and its segments
 Cvmem_segA segment of an arena: a range that is either free or allocated
 CvnodeA file in memory (a vnode): what its inode says, and the kernel's own state
 CvopsA filesystem's vnode operations, any of which may be NULL
 CvtA virtual terminal: its screen, its emulator's state, and its tty
 Cvt_cellA character cell
 Cvt_cursorThe cursor's state, saved by DECSC
 Cvt_displayA display that virtual terminals are shown on
 Cwaitq
 Cx86_gdt_entryA segment descriptor, an entry of the GDT
 Cx86_irq_chipAn interrupt controller: the 8259s, or the APIC
 Cx86_regsThe registers an interrupt or exception saved, on the kernel stack, as cpu.S's stubs push them: the general registers, the stub's vector and error code, then what the CPU pushed
 Cx86_threadA thread's x86 state: its kernel stack, and where it resumes
 Cx86_tss