Full Code of mikaku/Fiwix for AI

master 58e1b84e14b1 cached
407 files
1.5 MB
601.1k tokens
2489 symbols
1 requests
Download .txt
Showing preview only (1,675K chars total). Download the full file or copy to clipboard to get everything.
Repository: mikaku/Fiwix
Branch: master
Commit: 58e1b84e14b1
Files: 407
Total size: 1.5 MB

Directory structure:
gitextract_xwvssabo/

├── .gitignore
├── CODING
├── Changes
├── LICENSE
├── Makefile
├── README.md
├── THANKS
├── docs/
│   ├── devices.txt
│   ├── initrd.txt
│   ├── kernel-parameters.txt
│   ├── kexec.txt
│   ├── kmem_layout.txt
│   ├── system-console.txt
│   ├── tcc.txt
│   └── video/
│       ├── font-lat9-8x14.txt
│       ├── font-lat9-8x16.txt
│       └── font-lat9-8x8.txt
├── drivers/
│   ├── block/
│   │   ├── Makefile
│   │   ├── ata.c
│   │   ├── ata_hd.c
│   │   ├── ata_pci.c
│   │   ├── atapi.c
│   │   ├── atapi_cd.c
│   │   ├── blk_queue.c
│   │   ├── dma.c
│   │   ├── floppy.c
│   │   ├── part.c
│   │   └── ramdisk.c
│   ├── char/
│   │   ├── Makefile
│   │   ├── charq.c
│   │   ├── console.c
│   │   ├── defkeymap.c
│   │   ├── fb.c
│   │   ├── keyboard.c
│   │   ├── lp.c
│   │   ├── memdev.c
│   │   ├── ps2.c
│   │   ├── psaux.c
│   │   ├── pty.c
│   │   ├── serial.c
│   │   ├── sysrq.c
│   │   ├── tty.c
│   │   └── vt.c
│   ├── pci/
│   │   ├── Makefile
│   │   └── pci.c
│   └── video/
│       ├── Makefile
│       ├── bga.c
│       ├── fbcon.c
│       ├── font-lat9-8x14.c
│       ├── font-lat9-8x16.c
│       ├── font-lat9-8x8.c
│       ├── fonts.c
│       ├── vgacon.c
│       └── video.c
├── fiwix.ld
├── fs/
│   ├── Makefile
│   ├── buffer.c
│   ├── devices.c
│   ├── devpts/
│   │   ├── Makefile
│   │   ├── dir.c
│   │   ├── inode.c
│   │   ├── namei.c
│   │   └── super.c
│   ├── elf.c
│   ├── ext2/
│   │   ├── Makefile
│   │   ├── bitmaps.c
│   │   ├── dir.c
│   │   ├── file.c
│   │   ├── inode.c
│   │   ├── namei.c
│   │   ├── super.c
│   │   └── symlink.c
│   ├── fd.c
│   ├── filesystems.c
│   ├── inode.c
│   ├── iso9660/
│   │   ├── Makefile
│   │   ├── dir.c
│   │   ├── file.c
│   │   ├── inode.c
│   │   ├── namei.c
│   │   ├── rrip.c
│   │   ├── super.c
│   │   └── symlink.c
│   ├── locks.c
│   ├── minix/
│   │   ├── Makefile
│   │   ├── bitmaps.c
│   │   ├── dir.c
│   │   ├── file.c
│   │   ├── inode.c
│   │   ├── namei.c
│   │   ├── super.c
│   │   ├── symlink.c
│   │   ├── v1_inode.c
│   │   └── v2_inode.c
│   ├── namei.c
│   ├── pipefs/
│   │   ├── Makefile
│   │   ├── fifo.c
│   │   ├── pipe.c
│   │   └── super.c
│   ├── procfs/
│   │   ├── Makefile
│   │   ├── data.c
│   │   ├── dir.c
│   │   ├── file.c
│   │   ├── inode.c
│   │   ├── kmsg.c
│   │   ├── namei.c
│   │   ├── super.c
│   │   ├── symlink.c
│   │   └── tree.c
│   ├── script.c
│   ├── sockfs/
│   │   ├── Makefile
│   │   ├── socket.c
│   │   └── super.c
│   └── super.c
├── include/
│   └── fiwix/
│       ├── asm.h
│       ├── ata.h
│       ├── ata_hd.h
│       ├── ata_pci.h
│       ├── atapi.h
│       ├── atapi_cd.h
│       ├── bga.h
│       ├── bios.h
│       ├── blk_queue.h
│       ├── buffer.h
│       ├── charq.h
│       ├── cmos.h
│       ├── config.h
│       ├── console.h
│       ├── cpu.h
│       ├── ctype.h
│       ├── devices.h
│       ├── dirent.h
│       ├── dma.h
│       ├── errno.h
│       ├── fb.h
│       ├── fbcon.h
│       ├── fcntl.h
│       ├── fd.h
│       ├── filesystems.h
│       ├── floppy.h
│       ├── font.h
│       ├── fs.h
│       ├── fs_devpts.h
│       ├── fs_ext2.h
│       ├── fs_iso9660.h
│       ├── fs_minix.h
│       ├── fs_pipe.h
│       ├── fs_proc.h
│       ├── fs_sock.h
│       ├── i386elf.h
│       ├── ioctl.h
│       ├── ipc.h
│       ├── irq.h
│       ├── kd.h
│       ├── kernel.h
│       ├── kexec.h
│       ├── keyboard.h
│       ├── kparms.h
│       ├── limits.h
│       ├── linker.h
│       ├── linuxboot.h
│       ├── locks.h
│       ├── lp.h
│       ├── memdev.h
│       ├── mm.h
│       ├── mman.h
│       ├── msg.h
│       ├── multiboot1.h
│       ├── net/
│       │   ├── ipv4.h
│       │   ├── packet.h
│       │   └── unix.h
│       ├── net.h
│       ├── netdevice.h
│       ├── part.h
│       ├── pci.h
│       ├── pci_ids.h
│       ├── pic.h
│       ├── pit.h
│       ├── process.h
│       ├── ps2.h
│       ├── psaux.h
│       ├── pty.h
│       ├── ramdisk.h
│       ├── reboot.h
│       ├── resource.h
│       ├── sched.h
│       ├── segments.h
│       ├── sem.h
│       ├── serial.h
│       ├── shm.h
│       ├── sigcontext.h
│       ├── signal.h
│       ├── sleep.h
│       ├── socket.h
│       ├── stat.h
│       ├── statbuf.h
│       ├── statfs.h
│       ├── stdarg.h
│       ├── stddef.h
│       ├── stdio.h
│       ├── string.h
│       ├── syscalls.h
│       ├── sysconsole.h
│       ├── syslog.h
│       ├── sysrq.h
│       ├── system.h
│       ├── termbits.h
│       ├── termios.h
│       ├── time.h
│       ├── timeb.h
│       ├── timer.h
│       ├── times.h
│       ├── traps.h
│       ├── tty.h
│       ├── types.h
│       ├── unistd.h
│       ├── ustat.h
│       ├── utime.h
│       ├── utsname.h
│       ├── version.h
│       ├── vgacon.h
│       ├── video.h
│       └── vt.h
├── kernel/
│   ├── Makefile
│   ├── boot.S
│   ├── cmos.c
│   ├── core386.S
│   ├── cpu.c
│   ├── gdt.c
│   ├── idt.c
│   ├── init.c
│   ├── irq.c
│   ├── kexec.c
│   ├── main.c
│   ├── multiboot.c
│   ├── pic.c
│   ├── pit.c
│   ├── process.c
│   ├── sched.c
│   ├── signal.c
│   ├── sleep.c
│   ├── syscalls/
│   │   ├── Makefile
│   │   ├── access.c
│   │   ├── alarm.c
│   │   ├── brk.c
│   │   ├── chdir.c
│   │   ├── chmod.c
│   │   ├── chown.c
│   │   ├── chown32.c
│   │   ├── chroot.c
│   │   ├── close.c
│   │   ├── creat.c
│   │   ├── dup.c
│   │   ├── dup2.c
│   │   ├── execve.c
│   │   ├── exit.c
│   │   ├── fchdir.c
│   │   ├── fchmod.c
│   │   ├── fchown.c
│   │   ├── fcntl.c
│   │   ├── fcntl64.c
│   │   ├── fdatasync.c
│   │   ├── flock.c
│   │   ├── fork.c
│   │   ├── fstat.c
│   │   ├── fstat64.c
│   │   ├── fstatfs.c
│   │   ├── fsync.c
│   │   ├── ftime.c
│   │   ├── ftruncate.c
│   │   ├── ftruncate64.c
│   │   ├── getcwd.c
│   │   ├── getdents.c
│   │   ├── getdents64.c
│   │   ├── getegid.c
│   │   ├── geteuid.c
│   │   ├── getgid.c
│   │   ├── getgroups.c
│   │   ├── getitimer.c
│   │   ├── getpgid.c
│   │   ├── getpgrp.c
│   │   ├── getpid.c
│   │   ├── getppid.c
│   │   ├── getrlimit.c
│   │   ├── getrusage.c
│   │   ├── getsid.c
│   │   ├── gettimeofday.c
│   │   ├── getuid.c
│   │   ├── ioctl.c
│   │   ├── ioperm.c
│   │   ├── iopl.c
│   │   ├── ipc.c
│   │   ├── kill.c
│   │   ├── lchown.c
│   │   ├── link.c
│   │   ├── llseek.c
│   │   ├── lseek.c
│   │   ├── lstat.c
│   │   ├── lstat64.c
│   │   ├── mkdir.c
│   │   ├── mknod.c
│   │   ├── mmap2.c
│   │   ├── mount.c
│   │   ├── mprotect.c
│   │   ├── msgctl.c
│   │   ├── msgget.c
│   │   ├── msgrcv.c
│   │   ├── msgsnd.c
│   │   ├── munmap.c
│   │   ├── nanosleep.c
│   │   ├── newfstat.c
│   │   ├── newlstat.c
│   │   ├── newstat.c
│   │   ├── newuname.c
│   │   ├── old_mmap.c
│   │   ├── old_select.c
│   │   ├── olduname.c
│   │   ├── open.c
│   │   ├── pause.c
│   │   ├── personality.c
│   │   ├── pipe.c
│   │   ├── read.c
│   │   ├── readlink.c
│   │   ├── readv.c
│   │   ├── reboot.c
│   │   ├── rename.c
│   │   ├── rmdir.c
│   │   ├── select.c
│   │   ├── semctl.c
│   │   ├── semget.c
│   │   ├── semop.c
│   │   ├── setdomainname.c
│   │   ├── setfsgid.c
│   │   ├── setfsuid.c
│   │   ├── setgid.c
│   │   ├── setgroups.c
│   │   ├── sethostname.c
│   │   ├── setitimer.c
│   │   ├── setpgid.c
│   │   ├── setregid.c
│   │   ├── setreuid.c
│   │   ├── setrlimit.c
│   │   ├── setsid.c
│   │   ├── settimeofday.c
│   │   ├── setuid.c
│   │   ├── sgetmask.c
│   │   ├── shmat.c
│   │   ├── shmctl.c
│   │   ├── shmdt.c
│   │   ├── shmget.c
│   │   ├── sigaction.c
│   │   ├── signal.c
│   │   ├── sigpending.c
│   │   ├── sigprocmask.c
│   │   ├── sigreturn.c
│   │   ├── sigsuspend.c
│   │   ├── socketcall.c
│   │   ├── ssetmask.c
│   │   ├── stat.c
│   │   ├── stat64.c
│   │   ├── statfs.c
│   │   ├── stime.c
│   │   ├── symlink.c
│   │   ├── sync.c
│   │   ├── sysinfo.c
│   │   ├── syslog.c
│   │   ├── time.c
│   │   ├── times.c
│   │   ├── truncate.c
│   │   ├── truncate64.c
│   │   ├── umask.c
│   │   ├── umount.c
│   │   ├── umount2.c
│   │   ├── uname.c
│   │   ├── unlink.c
│   │   ├── ustat.c
│   │   ├── utime.c
│   │   ├── utimes.c
│   │   ├── wait4.c
│   │   ├── waitpid.c
│   │   ├── write.c
│   │   └── writev.c
│   ├── syscalls.c
│   ├── timer.c
│   └── traps.c
├── lib/
│   ├── Makefile
│   ├── ctype.c
│   ├── printk.c
│   ├── string.c
│   └── sysconsole.c
├── mm/
│   ├── Makefile
│   ├── alloc.c
│   ├── bios_map.c
│   ├── buddy_low.c
│   ├── fault.c
│   ├── memory.c
│   ├── mmap.c
│   ├── page.c
│   └── swapper.c
├── net/
│   ├── Makefile
│   ├── core.c
│   ├── domains.c
│   ├── ipv4.c
│   ├── packet.c
│   ├── socket.c
│   └── unix.c
└── shell.nix

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
*.o
/fiwix
System.map.gz
include/fiwix/custom_config.h
include/fiwix/custom_limits.h
include/fiwix/custom_kernel.h
include/fiwix/custom_system.h


================================================
FILE: CODING
================================================
Fiwix kernel coding standards
-------------------------------------------------------------------------------
It's easier on everyone if all authors working on a shared code base are
consistent in the way they write their programs. Fiwix has the following
conventions in its code:

- Keep lines length to a maximum of 80 characters (some exceptions accepted).

- Use of snake_case (multi-word names are lower_case_with_underscores) for
  everything except for macro in #define directives.

- No space after the name of a function in a call.
  For example, printk("hello") not printk ("hello").

- Optional space after keywords "if", "for", "while", "switch".
  For example, if(x) or if (x).

- Space before braces (except in function declarations).
  For example, if(x) { not if(x){.

- Space between operands.
  For example, for(n = 0; n < 10; n++), not for(n=0;n<10;n++).

- Beginning-of-line indentation via tabs, not spaces.

- Preprocessor macros are always UPPERCASE.

- Pointer types have spaces: (uint16_t *), not (uint16_t*).

- The pointer qualifier, '*', should be with the variable name rather than with
  the type.

- Comments in code are always in C-Style (as in C89) /* ... */.

- Only the comments that span multiple lines start always with a capital letter
  and the last sentence ends with a period. Also the open and close tags must go
  in separate lines. Just like this:
  /*
   * Comment line 1
   * comment line 2
   * comment line 3.
   */

- Comments in a single line must not start with a capital letter and must not
  end with a period.

- Functions that take no arguments are declared as f(void), not f().

- The open parenthesis is always on the same line as the function name.

- There is never a space between the function name and the open parenthesis.

- There is never a space between the parentheses and the parameters.

- The open curly brace is always at the next line of the function declaration.

- Conditionals should always include curly braces, even if there is only a
  single statement within the conditional.

- The parameters in function prototypes don't need to have a name to reference
  them by.

- Case statements should be indented one from switch keyword indentation.

Recommended for reading
-------------------------------------------------------------------------------
- http://skull.piratehaven.org/~bapper/298c/cstyle.html



================================================
FILE: Changes
================================================
1.8.0 - DD-MMM-2026
===================
- Added generic PCI Bus-Master DMA support on ATA disks.
- Added support for tilde dead key. [#102]
- Added the 'flags' entry in the 'kernel_params' structure to group all toggle-
  type parameters.
- Added the new kernel parameter 'ide_nodma' to disable DMA in all ATA drives.
- Added support to be able to right-justify strings in printk().
- Added support for some new functions in lib/string.c.
- Changed the 'ps2_noreset' to a toggle parameter.
- Changed the way how device drivers find PCI-type devices.
- Moved ipc_init() and net_init() initialization into kswpad() to make sure the
  'current' process stucture is completely setup.
- Removed the file CREDITS because the LICENSE file already contains the list of
  contributors.
- Removed the configuration option CONFIG_LAZY_USER_ADDR_CHECK.
- Reimplemented atoi() to rely on strtol().
- Fixed the ATA disk initialitzation to reduce the number of messages like
  'unexpected interrupt'.
- Fixed the DMA functionality in ATA disks to use UDMA since the support for the
  Multiword DMA is not always assured in all cases.
- Fixed ata_hd_init() to preserve the current value of Status in Bus-Master
  register while setting DMA.
- Fixed ata_setup_dma() and ata_start_dma() to preserve the current register
  status before writing a new value.
- Fixed to save the BIOS Data Area (256 bytes) to prevent it from being
  clobbered by the early use of the first memory page.
- Fixed dump_registers() to be able to show the registres on an early kernel
  panic.
- Fixed wakeup() to avoid flagging 'need_resched' on every iteration and thus
  saving extra context switchings.
- Fixed ps2_init() to no use anymore the command 0xCA (to get the current
  interface) as it is not an standardized command.
- Fixed the start_code and end_code values in '/proc/<PID>/stat' file.
- Fixed a bad vma address calculation in verify_address().
- Fixed verify_address() to not verify pointer addresses when calling system
  calls from the kernel.
- Fixed strncmp() to actually compare only the first (at most) n bytes of str1
  and str2.
- Fixed the inode count in mmap() functions.
- Fixed a possible infinite loop in do_munmap().
- Small fixes and improvements, code cleanup and cosmetic changes.


1.7.0 - 15-Nov-2025
===================
- Added support for UNIX98 pseudoterminals (pty).
- Added support for the devpts filesystem.
- Added support for system logging via sys_syslog() and /proc/kmsg.
- Added the member s_blocksize_bits in the superblock struct to use bitwise
  shift instead of division in ext2_bmap() and ext2_truncate().
- Added the RSS column in the list of processes generated by the Magic SysRq
  key 't'.
- Added the 'fd' structure as a new argument in ioctl() and select() methods.
- Added a free data pointer called 'private_data', in 'fd' structure, which is
  mostly used by the tty driver for now.
- Added support for the command TIOCINQ in tty_ioctl().
- Added the new kernel parameter 'ps2_noreset=' (which defaults to 0, disabled)
  to avoid reseting the PS/2 controller (specially useful on systems that don't
  has any PS/2 controller.
- Added support for the '/proc/pci/ and '/proc/bus/pci/devices' files.
- Added the support for the ioctls BLKSSZGET and BLKBSZGET on ATA and floppy
  drivers, and also added the missing BLKFLSBUF to the floppy driver.
- Changed modulo operations by bitwise (where possible) to reduce dependency
  from libgcc.
- Changed static array tty_table to dynamic.
- Rewritten mostly the PCI driver.
- Removed some flags from LDFLAGS in the main Makefile that prevented compile
  the kernel with newer GCC versions. [#97]
- Removed the dir_write method from the ext2 and minix filesystems.
- Removed a condition in do_sched() because it has no effect.
- Removed an unneeded assignment to need_resched in do_exit() and reduced the
  abuse of using need_resched because it costs excessive context switches.
- Renamed the functions *_dir_readdir() and *_dir_readdir64() to *_readdir()
  and *_readdir64().
- Renamed all *fd_table function arguments to avoid shadowing the global
  fd_table array.
- Simplified a do.while() in reclaim_siblings() also with small improvements in
  reclaim_buffers().
- Reverted 49393d0 and fixed 'memksize' in all cases to be able to boot again on
  systems with 4MiB of memory.
- Reverted 39c0097 because an existing bug prevents a complete installation on
  systems with less than 64MiB of memory.
- Update LICENSE file with additional contributor information.
- Fixed ext2_balloc() and ext2_ialloc() to return -ENOSPC when there is not
  space on device.
- Fixed fs.h to include fd.h when CONFIG_NET is not set.
- Fixed some kernel crashes with the message 'WARNING: page_head returned NULL!
  (free_pages = 0)' when using a RAMdisk drive as the root filesystem. [#98]
- Fixed ext2_file_write() to avoid to brelse() a NULL buffer. [#98]
- Fixed sys_open() to catch early an attempt to write on a directory.
- Fixed to add some missing iput() in procfs_lookup() and procfs_followlink().
- Fixed sys_mount() to also save the mount point for nodev filesystems.
- Fixed an unintended fall-through in set_color() of fbcon.c.
- Fixed a long standing bug in send_sig() that missed to add SIGCONT, SIGWINCH
  and SIGUSR to the list of signals to ignore when the disposition is set to
  SIG_DFL.
- Fixed an always true comparison in get_procfs_by_inode().
- Fixed a long standing bug in sys_kill() that prevented from sending the signal
  zero.
- Fixed a long standing bug in sys_select() that returned always -EBADF when
  'nfds' is equal to FD_SETSIZE.
- Fixed a long standing bug in tty_read() that always returned VMIN bytes
  regardless of the amount of data available.
- Fixed a possible null pointer dereference in proc_list().
- Fixed a long standing bug in sys_select() that didn't return -EINTR if it was
  interrupted by a signal.
- Fixed sys_fork() to share the remaining CPU time of the parent with the new
  child.
- Fixed to avoid a division by zero in SLEEP_HASH() macro when NR_PROCS is less
  than 10.
- Fixed a long standing bug in data_proc_pid_cmdline() and
  data_proc_pid_environ() functions that led to the kernel panic.
- Fixed an accidental fall through in opost().
- Fixed a missing iput() when freeing or merging a vma region.
- Fixed get_free_buffer() to not create new buffers if free memory pages are
  lower than minimal.
- Fixed inefficient code by reducing excessive calls to wakeup(&buffer_wait) in
  fs/buffer.c.
- Fixed a bug in sys_open() that allowed to create a file on a read-only
  filesystem.
- Small fixes, code cleanup and cosmetic changes.


1.6.0 - 15-Nov-2024
===================
- Added support for UNIX-domain sockets (with the Berkeley socket API). [#36]
- Added support for sys_truncate64, sys_ftruncate64, sys_stat64, sys_lstat64,
  sys_fstat64 and sys_fcntl64 system calls. [#49]
- Added support for sys_getdents64. [#51]
- Added support for sys_chown32. [#53]
- Added support for sys_utimes. [#57]
- Added support for building Fiwix with the TCC compiler. [#63]
- Added support for the Linux boot protocol in kexec. [#65]
- Added support for the PS/2 mouse with the new device /dev/psaux. [#94]
- Added the new configuration option PAGE_HASH_PERCENTAGE (0.1% by default) to
  set the size of the page_hash_table relative to the number of physical memory
  pages, with a mininum of 1 page and a maximum of 16 pages. The kernel now
  shows the hash tables sizes during the boot.
- Added to sync drives when kernel stops because no more user processes exist.
  [#70]
- Added the flag PF_NOTINTERRUPT to avoid waking up a process sleeping in the
  non-interruptible mode.
- Added a consistency check on every directory entry during ext2_lookup().
- Added a call to invalidate_buffers() before reread the partition table in the
  ioctl BLKRRPART.
- Rewritten how multiple I/O block requests are managed. Now the new I/O block
  layer enqueues a block request group with all the buffers needed in a read or
  write operation, and keeps sleeping until the whole transaction has been
  completed. This improves dramatically the disk accesses, reduces a lot the
  number of context switches, and it overall boosts the performance of the
  system.
- Changed the file position for reads to be set to zero when a file is opened
  with O_APPEND. [#76]
- Implement mapping framebuffer physical address to user space using mmap. [#79]
- Changed the inode cache mechanism to avoid caching inodes from
  pseudo-filesystems.
- Changed count_active_procs() to also count processes that are sleeping as
  non-interruptible.
- Changed the tty sleeping address to be process specific in order to reduce
  the wakeup latency.
- Moved the values sb->dirty, inode->locked and inode->dirty to flags.
- Moved the call to sysrq() into the keyboard interrupt bottom half.
- Improved code compaction and efficiency in ATA disk read/write.
- Improved the efficiency of the buffer cache.
- Improved ext2_file_write() to use a multiblock request with gbread() when the
  count is greater than the blocksize.
- Reorganized and improved the system console related code.
- Pass through 64-bit PAE memory entries as part of kexec. [#67]
- Make sure that the early system log will be shown in all system consoles.
- Removed unneeded low memory kernel virtual address mappings. [#88]
- Reduced a number of functions in the timer interrupt by moving them to the
  bottom half.
- Reorganized the code of the keyboard driver.
- Renamed and reorganized tty_queue into charq to make it more generic.
- Fixed sys_mount() to avoid mounting a device already mounted.
- Fixed compilation errors when CONFIG_PCI is not defined.
- Fixed to allow removing a directory in use. [#59]
- Fixed in sys_getcwd() to check 'diff_dev' variable before accessing
  'tmp_inode'. [#61]
- Fixed vconsole_select() to not switch to an unexistent vconsole.
- Fixed ata_hd_init() to make sure that the command SET_FEATURES is sent in all
  cases.
- Fixed the kernel stack backtrace to skip the first 5 stack values.
- Fixed an scrolling bug with 'vi' in fbcon_scroll_screen(). [#81]
- Fixed UNIX sockets working with select(). [#83]
- Fixed serial system console table overindex. [#87]
- Fixed a major problem in do_switch routine. [#89]
- Fixed incorrect passing of e820 memory map to Linux kexec guests. [#72]
- Fixed EXT2_DESC_PER_BLOCK() to avoid redundant calculations.
- Fixed kswapd() to enable interrupts after initializing devices.
- Fixed a long standing bug during bitmap calculation in the ext2 filesystem.
- Fixed CHECK_IF_NESTED_INTERRUPT by comparing KERNEL_CS against CS.
- Fixed a kernel crash on boot when PCI is disabled and the kernel parameter
  'bga=' is supplied.
- Fixed sleep() to avoid race conditions by executing CLI() earlier.
- Fixed a bug introduced in 4317cbe that prevented from continuing to the next
  running process in stop_kernel().
- Fixed read_msdos_partition() to use the default device block size instead of
  BLKSIZE_1K.
- Fixed to flag the superblock as dirty in ext2_ialloc(), ext2_ifree(),
  ext2_balloc() and ext2_bfree().
- Fixed fbcon_blank_screen() to not show cursor. [#94]
- Fixed a lack of schedule randomization introduced in b935b3d.
- Fixed reclaim_buffers() to run with interrupts enabled.
- Fixed to initialize the new vma struct in merge_vma_regions().
- Fixed to reset the flag before calling some functions to avoid reentrancy
  in irq_keyboard_bh().
- Fixed a long standing bug in vconsole_select() that prevented from switching
  between consoles in VT_PROCESS mode.
- Fixed permissions in the ioctl VT_WAITACTIVE.
- Fixed a long standing bug in wakeup() that put as running one in two processes
  sleeping, leading to frequent cases where some processes keep sleeping.
- Small fixes and cosmetic changes.


1.5.0 - 15-Nov-2023
===================
- Added a kernel memory allocator that uses the buddy algorithm to manage
  requests smaller than PAGE_SIZE (4KiB).
- Added the new file /proc/buddyinfo to view buddy algorithm statistics.
- Added the new configuration option FREE_PAGES_RATIO (with a default value of
  5), as the minimum percentage of free memory pages before calling the swapper
  to reclaim memory from the buffer cache.
- Added the buffer-dirty-flush kernel daemon 'kbdflushd'. This also includes the
  new configuration option BUFFER_DIRTY_RATIO to limit the percentage of dirty
  buffers.
- Added the new file '/proc/sys/vm/dirty_background_ratio' to show the current
  value of the option BUFFER_DIRTY_RATIO.
- Added support for the Bochs Graphics Adapter with the configuration option
  CONFIG_BGA, and introducing the new kernel parameter 'bga=' to set the screen
  resolution (width x height x bpp). Refer to 'docs/kernel-parameters.txt' to
  know all the screen resolutions supported.
- Added 32bit I/O transfers support to the ATA/ATAPI driver.
- Added DMA (Multi-word) transfers support to the ATA disk driver.
- Added overall improvements in the ATA disk driver.
- Added a check in psig() to terminate the process if it doesn't have the stack
  region in its vma table.
- Added PCI BARs handling in the serial driver.
- Added the files 'buffer_max' and 'buffer_nr' in '/proc/sys/kernel/'.
- Added more checks on data received during ATA drive identify to make sure it
  makes sense.
- Added the magic SysRq key 'm' to show current memory information.
- Added the Multiboot magic value as a new parameter in get_last_boot_addr() to
  avoid a kernel panic when it is booted without the Multiboot structure.
- Added a check if flag MULTIBOOT_INFO_ELF_SHDR is set before reading the ELF
  section header table to avoid possible kernel panics.
- Added support in parse_cmdline() to recognize values enclosed in double
  quotes.
- Added support for multiple RAMdisk drives.
- Added kexec implementation (see 'docs/kexec.txt') which introduces the new
  configuration option CONFIG_KEXEC (disabled by default).
- Added microsecond resolution to sys_gettimeofday().
- Added the /proc/<PID>/fd/ subdirectory containing symbolic links named by its
  file descriptor.
- Added support for 64bit offsets and introduced the new option CONFIG_OFFSET64
  (enabled by default).
- Added the linkage of libgcc into the kernel in order to have functions like
  __divdi3() and friends, necessary when doing certain arithmetic operations
  with 64bit offsets on an i386 architecture.
- Added support for the O_DIRECTORY flag to sys_open(). [#32]
- Added support for the virtual memory split 2GiB(user)/2GiB(kernel), by
  introducing the new option CONFIG_VM_SPLIT22 (disabled by default). [#34]
- Added support for large initrd images (see 'docs/initrd.txt'). [#34]
- Added the ability to have different blksize values for each device minor.
- Added the new system call sys_lchown by renaming the old sys_chown (number 16)
  to sys_lchown, and creating the new sys_chown (number 182) which will follow
  (dereference) symbolic links. This might break the compatibility with Linux
  2.0 ABI.
- Added support for F_DUPFD_CLOEXEC in sys/fcntl.h. [#40]
- Added support for sys_readv() and sys_writev() system calls. [#42]
- Added support for sys_mmap2() system call. [#47]
- Added the length modifier 'l' for long long int arguments in printk().
- Changed the mode how the kernel mounts the root filesystem. From now on, it
  will be mounted in read/write mode by default. This introduces the new kernel
  parameter 'ro' to force to mount it in read-only mode.
- Changed the vma table from static to dynamically allocated array and removed
  the option VMA_REGIONS.
- Changed lots of fixed-size arrays to dynamically allocated arrays.
- Changed malloc_name() and free_name() to use the new memory allocator.
- Changed do_namei() to use the new memory allocator.
- Changed the generic llseek() method to support 64bit offsets.
- Changed the location of the kernel stack address to be right after the BSS
  section. [#34]
- Rewritten reclaim_buffers() to be more efficient and also to free up unused
  buffers and shrink the buffer table.
- Modified the Makefile to disable compiling with PIE option enabled by some
  builds of GCC. [#6]
- Reverted 40bf18b because some signals weren't caugth and created malfunction
  in cron jobs.
- Reverted 082b316 as it created a kernel panic when using IPC shared memory.
- Reverted ad3fc56 so malloc_name() and free_name() will always request
  PAGE_SIZE bytes. This is more efficient as it helped to remove the call to
  strlen() and even can return now a proper ENAMETOOLONG error.
- Disabled interrupts in runnable() and not_runnable() to avoid race conditions.
- Removed the option RAMDISK_MAXSIZE from the RAMdisk drives.
- Bar addresses of PCI devices are now discovered by the driver.
- Reorganized _init() functions in start_kernel().
- Disk drives now show the ATA major version number.
- Reorganized the steps to do on a page fault in kernel mode.
- The kernel parameter 'ramdisksize=' no longer controls the size of the initrd
  image. [#34]
- The build of the Minix filesystem depends on the new option CONFIG_FS_MINIX
  (disabled by default).
- Fixed a bug in syscalls/wait4.c introduced in 9cfe372 that created malfunction
  in control jobs.
- Fixed to call sleep_init(), buffer_init(), sched_init() and inode_init()
  before initializing devices.
- Fixed the offset value in elf_load_interpreter() and elf_load().
- Fixed in pci_add_device() to use pci_read_short() instead of pci_read_char()
  for Command and Status registers.
- Fixed in do_execve() to reuse tmp_name allocated in sys_execve().
- Fixed a number of common variable definitions that prevented from build Fiwix
  with the newest GCC cross-compiler. [#10]
- Fixed in fs/namei.c to return ENOENT for missing directory. [#12]
- Fixed a bug in ext2_bmap() that prevented large files from persist on an ext2
  filesystem. [#14]
- Fixed a bug in v2_minix_bmap() that prevented large files from persist on a
  minix v2 filesystem. [#14]
- Fixed do_page_fault() to handle better a faulty address outside the user
  address space in kernel mode.
- Fixed the I/O address size in the ISA serial driver.
- Fixed a missing iput() in ext2_followlink() when there are too many nested
  symbolic links.
- Fixed a missing iput() in minix_followlink() when there are too many nested
  symbolic links.
- Fixed the hexadecimal values of /dev/tty10, /dev/tty11 and /dev/tty12 in
  kparms.h.
- Fixed some possible race conditions in buffer cache.
- Fixed a bug in mmap that prevented overlapped VMA regions from merging
  correctly. [#16]
- Fixed to terminate properly a read or write request on hdd timeout.
- Fixed a race condition in sys_nanosleep() when setting the processs sleeping
  time.
- Fixed merge_vma_regions() to free memory pages in overlapped segments. [#16]
- Fixed memory mapped files not written to disk correctly. [#18]
- Fixed sys_execve() to make sure arguments and environment do not exceed the
  maximum length. [#20]
- Fixed sys_mount() to use malloc_name() and free_name() to validate the
  argument 'fstype'.
- Fixed do_page_fault() to handle a page fault when trying to access a
  non-existent user stack address in kernel mode when
  CONFIG_LAZY_USER_ADDR_CHECK is enabled. [#22]
- Fixed verify_address() to accept a possible non-existent user stack address
  when CONFIG_LAZY_USER_ADDR_CHECK is disabled, since do_page_fault() will do
  the rest of the job. [#22]
- Fixed the logic in parse_arg() to support kernel parameters without arguments.
- Fixed a long standing bug where after removing an inode there was not a call
  to invalidate all its pages from the cache. [#24]
- Fixed a missing initialization in the PCI structure during scan_bus(). [#25]
- Fixed bread() to check if the bytes read matches with what was requested.
- Fixed premature output of information from the serial driver when acting as
  the remote console.
- Fixed frame buffer memory spaces to be marked as reserved if they conflict
  with available memory.
- Fixed sys_select() to return in the timeout argument the amount of time not
  slept. This is Linux specific but POSIX permits this behavior.
- Fixed Magic SysRq key 't' to also list zombie processes.
- Fixed Magic SysRq keys to work even when the tty has not been opened yet.
- Fixed get_free_page() to reduce the excessive number of iterations with
  reclaim_buffers() when running out of memory pages.
- Fixed the mechanism to sleep all processes in stop_kernel().
- Fixed the sleep address in page_lock() to match with page_unlock().
- Fixed a kernel panic if irq_keyboard() receives an unrecognized function key.
- Fixed to correctly disable the RAMdisk device if there is not enough physical
  memory.
- Fixed an inode-related race condition in iget() and iput().
- Fixed to not use the buffer after failed to be synced in sync_one_buffer().
- Fixed in ext2_symlink(), ext2_mkdir(), ext2_mknod() and ext2_create() to make
  sure the inode doesn't exist.
- Fixed in minix_symlink(), minix_mkdir(), minix_mknod() and minix_create() to
  make sure the inode doesn't exist.
- Fixed a deadlock between getblk() and kbdflushd(). [#27]
- Fixed a missing lock that led to a possible memory page corruption bug in
  bread_page(). [#27]
- Fixed atapi_cd_init() to setup the correct block size in the device structure.
- Fixed sys_ftruncate() to return EINVAL if its method does not exist.
- Fixed sync_superblocks() to sync all superblocks if argument is zero.
- Fixed the size on every symlink in procfs to 64 bytes.
- Fixed iget() to avoid locking when read_inode() returns an error.
- Fixed a missing call to sync_buffers() in close() methods of RAMdisk drive and
  floppy drive.
- Fixed serial_set_termios() to avoid a division by zero.
- Fixed script_load() with || instead of && that led to incorrectly recognize as
  script when there is an incomplete shebang.
- Fixed a linked list corruption when messages are retrieved not sequentially in
  sys_msgrcv().
- Fixed ata_hd_init() to not fail build if CONFIG_PCI is #undef.
- Fixed padding in fbcon_insert_char() to use character 0x20 instead of 0x00.
- Fixed vgacon_scroll_screen() to use double-buffering.
- Small fixes and cosmetic changes.


1.4.0 - 15-Nov-2022
===================
- Added support for the PCI local bus.
- Added support for the UNIX System V IPC mechanisms (semaphores, message queues
  and shared memory).
- Added the character device /dev/full.
- Added the character device /dev/port.
- Added the system call sys_getcwd. [#4]
- Added the configuration option CONFIG_QEMU_DEBUGCON to include support for the
  QEMU Bochs-style debug console.
- Improved the serial driver to support QEMU PCI serial devices.
- Removed the extra lock when dispatching the bottom halves.
- Mask the interrupt during the execution of the interrupt handler.
- Reorganized the code to separate interrupt related functions from specific pic
  functions.
- Moved set_leds() into the bottom half of the keyboard interrupt.
- Moved the start and stop tty functions into the bottom half of the keyboard
  interrupt.
- Removed the command to detect the interface type of the keyboard.
- Removed the kernel parameter 'noramdisk', so from now on the RAM disk driver
  is disabled by default. Use the kernel parameter 'ramdisksize=' to configure
  and enable it.
- Reversed the check order of schedule and signals before leaving the kernel
  space.
- Improved the cooperation with reclaim_buffers() when kernel runs out of memory
  pages.
- Added the functions inport_l() and outport_l() in core386.S.
- Added the sleeping address value in the SysRq process listing.
- Added the configuration option CONFIG_SYSCALL_6TH_ARG (disabled by default),
  to enable the 6th argument in the system calls.
- Added the configuration option CONFIG_LAZY_USER_ADDR_CHECK to relax the number
  of checks in the linear address of a system call parameter.
- Reorganized the signal functions to avoid that signals sent by the kernel have
  to use the same checking mechanism as if they were sent by a user process.
  This also fixes a permission problem when sending the SIGCHLD signal to a
  parent process owned by a different user, during the context of sys_exit().
- IDE driver now shows the PIO mode instead of UDMA mode, since the later is not
  supported yet.
- IDE driver now will use the current logical values if they are valid in the
  identify field.
- Changed the bios memory map functions to show that the ending address is
  inside each range.
- Changed sys_execve() to use the first argument instead of argv[0].
- Reverted 75bb49d and 4ecf9dd, as the PC emulator 'copy.sh/v86' (maybe others)
  requires to select the drive on every command.
- Fixed the slowness during the system boot-up caused by the keyboard driver not
  using interrupts during its own initialization.
- Fixed ext2_truncate() to return the error code after calling free_dblock().
- Fixed v1_minix_truncate() and v2_minix_truncate() to return the error code
  after calling free_zone().
- Fixed ext2_truncate() to correctly free doubly-indirect blocks.
- Fixed v1_minix_truncate() and v2_minix_truncate() to correctly free
  doubly-indirect blocks.
- Fixed ext2_truncate() to free triply-indirect blocks.
- Fixed v2_minix_truncate() to free triply-indirect blocks.
- Fixed the way how the I/O permission bitmap in TSS is implemented.
- Fixed the implementation of the sys_ioperm() system call.
- Fixed the execution permission logic that let root user execute any file.
- Fixed to handle SysRq key inside keyboard interrupt instead of in its bottom
  half.
- Fixed a missing inode release in elf_load() when argument list exceeds ARG_MAX
  on an ELF binary that requires an interpreter.
- Fixed a possible NULL pointer dereference with elf32_ph in elf_load() and
  elf_load_interpreter().
- Fixed the type of the user file descriptor (to unsigned int) in a number of
  system calls.
- Fixed a possible index out of bounds in bios_map_add().
- Fixed a missing validation in the arguments of sys_execve().
- Fixed an inefficiency in the mechanism of ext2_dir_readdir() and
  minix_dir_readdir().
- Fixed the function get_last_boot_addr() to return a proper address even when
  there are no ELF header tables. This mostly happens when the kernel is loaded
  using the QEMU argument '-kernel'.
- Fixed a possible out of bounds access in CHECK_UFD() macro.
- Fixed a possible out of bounds in utsname structures.
- Fixed UTS_MACHINE to return always 'i386' in all processor types on the i386
  architecture.
- Fixed do_printk() to show correctly the value of the second identifier when
  there are two consecutive identifiers
- Fixed to show the size of an ATA drive in KB if it's less than 1MB.
- Fixed to use the standard algorithm to convert LBA to CHS in the ATA driver.
- Fixed the TCSETSW, TCSETSF, TCSETAW and TCSETAF ioctl functions, so now they
  wait output buffer to drain before apply the new settings.
- Fixed a missing update of the termios structure during the ioctl functions:
  TCSETA, TCSETAW and TCSETAF
- Fixed sys_open() to check directory permissions only if the file does not
  exist and O_CREAT has been specified.
- Fixed callouts bottom half to avoid nesting.
- Fixed a bug introduced in 8eaed51 that prevented initrd images from
  working. [#7]
- Small fixes and cosmetic changes.
- Cleaned up a lot of code.


1.3.0 - 08-Dec-2021
===================
- Added support for interrupt nesting.
- Added framebuffer device support for VESA VBE 2.0+ compliant graphics cards.
- Added support for the framebuffer console (fbcon).
- Completely rewrite the console to support VGA text and framebuffer screens.
- Improved the speed of VGA text consoles by using double-buffering and fixing
  also a fair number of bugs.
- Updated the header file to support the latest GRUB Multiboot Specification v1.
- Moved 'cpu_idle()' to a C function to include more easily some tasks to do.
- Isolated the multiboot code in order to prepare the kernel to support multiple
  bootloader protocols.
- Arrange boot.S to be compatible only with GRUB Multiboot Specification v1.
- Changed from 0x90000 to 0x50000 the memory location of the 4MB temporary Page
  Directory to be able to hold bigger initrd images.
- Changed from 5% to 1% the amount of memory that will use the inode table.
- Added the ability to insert extra regions to the memory map provided by the
  boot loader.
- Added support to detect non-contiguous areas of available memory in the BIOS
  memory map.
- Added support for the 'magic SysRq key' to help to know the cause of a kernel
  freeze on a disaster situation.
- Added some basic checks on data received during IDE identify to make sure it
  makes sense.
- Added support to handle two ATA/ATAPI devices in the same IDE controller.
- Reduced the size of the buffer area used in floppy I/O operations.
- Increased to 50 the maximum of BIOS memory map entries.
- Removed CLI() functions in ide_hd and ide_cd.
- Improved the handling of the inode free list and the locking mechanism.
- Improved the handling of buffer and memory page free lists.
- Improved the way how is counted the first megabyte of memory.
- Changed bread_page() to reuse buffers and reduce disk I/O activity.
- Honour POSIX.1-2008 by returning ELOOP if flag O_NOFOLLOW is set and the
  trailing component (basename) of the pathname in open() is a symbolic link.
- Disabled interrupts during the context switch.
- Moved the values buffer->valid, buffer->locked and buffer->dirty to flags.
- Moved the value pg->locked to a flag.
- Changed kernel_process() to accept also the name of the process.
- Removed a sizeof(void) in sys_signal() as it is not covered by the C standard.
- Disabled interrupts during early boot up.
- Added the configure option CONFIG_VERBOSE_SEGFAULTS (disabled by default).
- Added a separate queue for all running processes.
- Disabled default screen blanking.
- Added a new linked list in the buffer structure to better handle the dirty
  buffers.
- Added the 'Dirty' line in '/proc/meminfo' to keep track the amount of memory
  waiting to be written back to the disk.
- Wakeup the INIT process (if it's sleeping on sys_wait4()) if one of the new
  processes inherited during the sys_exit() call is a zombie.
- Saved some CPU cycles in irq_handler() by isolating unused IRQs.
- Fixed the RAMdisk driver to not access blocks beyond its size.
- Fixed a race condition in floppy drive when the interrupt occurred right
  before going to sleep.
- Fixed a bug during the RAMdisk memory initialization that reserved twice the
  size of the initrd image.
- Fixed to return EISDIR when trying to read a directory in procfs.
- Fixed a memory corruption bug in procfs_readlink() that was leading to
  instability in user programs that read the procfs.
- Fixed to use a simple assignment in elf_create_stack() instead of using a
  function to copy a numeric value.
- Fixed a long standing memory corruption bug when returning the contents of the
  '/proc/<PID>/cmdline' file.
- Fixed a possible memory corruption bug when returning the contents of the
  '/proc/<PID>/environ' file.
- Fixed a missing queue handling in the serial driver.
- Fixed to remove the calls to reset termios and tty on tty_close().
- Fixed an extra buffer_head assignment in get_free_buffer() which reduced to
  50% the buffer space, and could also potentially use an already locked buffer.
- Fixed a very long standing buffer corruption bug, in rename functions of ext2
  and minix filesystems, that led to crashes with the message 'getblk(): no more
  buffers on free list!' after a heavy filesystem use.
- Fixed the tty_queue_room() function and aligned to 8 the number of cblocks per
  queue.
- Fixed the way how release_page() and reclaim_buffers() cooperate when there
  are no more free memory pages, in order to avoid killing the current process
  prematurely.
- Fixed to avoid sleeping during console_flush_log_buf().
- Fixed to return ENOSPC when trying to write beyond the size of a block device.
- Fixed get_proc_by_pid() to not PANIC anymore if the process didn't exist.
- Fixed to avoid multiple calls to tty_queue_init().
- Fixed to return ENXIO when the device does not exist.
- Fixed the CSI J Erase in Display (ED) and other sequences in console.
- Fixed /dev/kmem to not access beyond the end of the virtual memory.
- Fixed to make sure that disk partitions with status value other than 0x00 and
  0x80 are invalid.
- Fixed a race condition in ATA identify/read when the interrupt occurred right
  before going to sleep.
- Fixed a buffer overrun in iso9660_dir_readdir().
- Fixed a bug in iso9660_dir_readdir() that prevented from including some files
  in the user dirent structure under certain conditions.
- Fixed a very long standing bug in the memory page hashing mechanism that led
  to kernel freezes after a long use.
- Fixed a very long standing bug in all inode lookup functions that ate an extra
  inode on every call, leading to the premature message "WARNING: no more inodes
  on free list!".
- Fixed certain values to be signed instead of unsigned in kstat structure.
- Fixed a bug in tty->canon_data that corrects a bad behavior in select().
- Fixed to decrease rss memory from the zombie process instead from its parent
  in remove_zombie().
- Fixed to name correctly the IDLE process by assigning 'idle' to argv0.
- Fixed to honour the select() function when handling pipes.
- Fixed to reduce over-scheduling in tty_write() by calling do_sched() only if
  needed.
- Fixed a long standing bug in do_exit() that made some processes returning from
  the death.
- Fixed the inode reference counter when moving directories (sys_rename) in ext2
  and minix filesystems.
- Fixed to update the parent directory when moving directories (sys_rename) in
  ext2 and minix filesystems.
- Fixed to wake up all processes in select() after a console_write().
- Fixed an incomplete copy of in-memory superblock data during a remount from RO
  to RW, in ext2 and minix filesystems, that led to not save all changes in
  superblock.
- Fixed to decrease the number of children either when the process is exiting,
  and from the correct parent after reaping a zombie process.
- Fixed a long standing bug, in ext2_dir_readdir() and minix_dir_readdir(), that
  prevented from listening directory entries if there were blank blocks in the
  middle.
- Small fixes and cosmetic changes.
- Cleaned up a lot of code.


1.2.0 - 12-Dec-2020
===================
- Added support for serial (RS-232) devices.
- Completely rewritten the way how the device table is handled.
- Completely rewritten the way how the interrupt table is handled.
- Added the ability to share the same IRQ between multiple devices.
- Completely rewritten the way how bottom halves are managed.
- Added the 'doc/devices.txt' document.
- Added basic functionality of OPOST functions to tty.
- Added to reschedule the keyboard bottom-half if it was busy.
- Added support of O_NONBLOCK in tty_write().
- Added remote serial console support.
- Added support for K_RAW and K_MEDIUMRAW keyboard modes.
- Added and fixed some ECMA-48 CSI sequences in console.
- Improved termios and other aspects of the tty driver to accomodate the new
  serial driver.
- Small optimizations and bug fixes in console.
- Improved the macros that build the interrupt service routines.
- Fixed to force some signals that a process cannot ignore by changing their
  dispositions to SIG_DFL.
- Fixed a bug in tty_read and tty_write that caused to send the SIGTTIN signal
  to the foreground process.
- Fixed nanosleep() to force to 10ms any request lower than 10ms.
- Fixed a signedness bug in setreuid() and setregid().
- Fixed to delimitate better the stack-related page faults in the vma region.
- Fixed a NULL pointer dereference when __DEBUG__ is enabled in sys_waitpid().
- Fixed to avoid freeing an invalid page that generated PANICs in SVGAlib
  programs.
- Fixed a bug that, under certain conditions, page_not_present() unmapped a
  wrong page number.
- Fixed to not clone MAP_SHARED pages during fork().
- Saved twice the 'signum' value before calling the signal handler.
- Small fixes and cosmetic changes.


1.1.0 - 24-Mar-2020
===================
- Added support for an initial RAMdisk (initrd) image.
- Added full support for the ext2 filesystem.
- Added support to execute scripts.
- Limit the number of messages on spurious interrupts.
- RAMdisks initialization now shows the range of the memory addresses of each
  RAMdisk created.
- Added VMA_REGIONS as a general configurable option (default: 150 entries).
- Changed the default kernel filesystem to ext2.
- Renamed the sleep addresses in tty.c.
- Added the ability to pass arguments to init from the kernel's command line.
- Included memory values in /proc/PID/stat and /proc/PID/status.
- Included the file /proc/PID/statm to provide more information about memory
  usage.
- Changed the ATA's SET MULTIPLE MODE command to do all I/O with 4KB block size
  (8 sectors) by default.
- Fixed to prevent from using an unexistent floppy type, in the fdd_type
  structure, if CMOS returns a value bigger than 0x04.
- Fixed a misplaced bitwise operator AND that was not ensuring the limitation
  to 1GB as the amount of physical memory supported.
- Fixed some bugs in *_minix_ialloc() and minix_balloc() when they fail.
- Fixed a malfunction in the job control.
- Fixed in sys_getgroups() to return the number of group IDs when the argument
  size is zero.
- Fixed the DEC Set Top and Bottom Margins (DECSTBM) sequence, which affected
  the scroll up mechanism in consoles.
- Fixed to set properly the timestamp on every read and write in all ttys.
- Fixed the start time value in /proc/PID/stat of every single process.
- Fixed to use a long long variable type to be able support block devices bigger
  than 4GB.
- Fixed a memory corruption bug processing the VT100 'CSI n J' sequence.
- Small fixes and cosmetic changes.


1.0.1 - 04-Aug-2018
===================
- Added a basic implementation of a Pseudo-Random Number Generator using the
  character devices /dev/random and /dev/urandom.
- Improved the mechanism in procfs_dir_readdir() to fix a memory corruption bug.
- Fixed a bug in procfs_dir_readdir() that prevented from reading correctly the
  entire procfs root directory.
- Fixed a bug in iso9660_dir_readdir() that prevented from reading correctly any
  directory.
- Fixed to show the complete pathname in the argv[0] of the init process.
- Fixed to protect INIT process from unexpected signals.


1.0.0 - 23-Apr-2018
===================
- Fixed a bug in reclaim_buffers() to avoid kernel freeze.
- Fixed a corruption bug when creating the dirent structure in the dir_readdir()
  functions.
- Massive code cleaning.
- New system calls:
	sys_select


================================================
FILE: LICENSE
================================================
MIT License

Copyright (c) 2018 Jordi Sanfeliu, et al.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

--

Authors/contributors include:

Richard R. Masters
Greg Haerr
Alwin Berger
Gábor Stefanik



The following notice is included for code incorporated from the Limine Project:

Copyright (C) 2019-2023 mintsuki and contributors.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


================================================
FILE: Makefile
================================================
# fiwix/Makefile
#
# Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.
# Distributed under the terms of the Fiwix License.
#

TOPDIR := $(shell if [ "$$PWD" != "" ] ; then echo $$PWD ; else pwd ; fi)
INCLUDE = $(TOPDIR)/include
TMPFILE := $(shell mktemp)

ARCH = -m32
CPU = -march=i386
LANG = -std=c89

# CCEXE can be overridden at the command line. For example: make CCEXE="tcc"
# To use tcc see docs/tcc.txt
CCEXE=gcc

CC = $(CROSS_COMPILE)$(CCEXE) $(ARCH) $(CPU) $(LANG) -D__KERNEL__ $(CONFFLAGS) #-D__DEBUG__
CFLAGS = -I$(INCLUDE) -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes #-Wextra -Wno-unused-parameter

ifeq ($(CCEXE),gcc)
LD = $(CROSS_COMPILE)ld
CPP = $(CROSS_COMPILE)cpp -P -I$(INCLUDE)
LIBGCC := -L$(shell dirname `$(CC) -print-libgcc-file-name`) -lgcc
LDFLAGS = -m elf_i386
endif

ifeq ($(CCEXE),tcc)
LD = $(CROSS_COMPILE)$(CCEXE) $(ARCH)
LDFLAGS = -static -nostdlib -nostdinc
# If you define CONFIG_VM_SPLIT22 this should be 0x80100000: make CCEXE="tcc" TEXTADDR="0x80100000"
TEXTADDR = 0xC0100000
endif


DIRS =	kernel \
	kernel/syscalls \
	mm \
	fs \
	drivers/char \
	drivers/block \
	drivers/pci \
	drivers/video \
	net \
	lib

OBJS = 	kernel/*.o \
	kernel/syscalls/*.o \
	mm/*.o \
	fs/*.o \
	fs/devpts/*.o \
	fs/ext2/*.o \
	fs/iso9660/*.o \
	fs/minix/*.o \
	fs/pipefs/*.o \
	fs/procfs/*.o \
	fs/sockfs/*.o \
	drivers/char/*.o \
	drivers/block/*.o \
	drivers/pci/*.o \
	drivers/video/*.o \
	net/*.o \
	lib/*.o

export CC LD CFLAGS LDFLAGS INCLUDE

all:
	@echo "#define UTS_VERSION \"`date -u`\"" > include/fiwix/version.h
	@for n in $(DIRS) ; do (cd $$n ; $(MAKE)) || exit ; done
ifeq ($(CCEXE),gcc)
	$(CPP) $(CONFFLAGS) fiwix.ld > $(TMPFILE)
	$(LD) -N -T $(TMPFILE) $(LDFLAGS) $(OBJS) $(LIBGCC) -o fiwix
	rm -f $(TMPFILE)
	nm fiwix | sort | gzip -9c > System.map.gz
endif
ifeq ($(CCEXE),tcc)
	$(LD) -Wl,-Ttext=$(TEXTADDR) $(LDFLAGS) $(OBJS) -o fiwix
endif

clean:
	@for n in $(DIRS) ; do (cd $$n ; $(MAKE) clean) ; done
	rm -f *.o fiwix System.map.gz



================================================
FILE: README.md
================================================
Fiwix
=====
Fiwix is an operating system kernel written from scratch, based on the UNIX architecture and fully focused on being POSIX compatible. It is designed and developed mainly as a hobby OS and, since it serves also for educational purposes, the kernel code is kept as simple as possible for the benefit of students and OS enthusiasts. It is small in size (less than 50K lines of code), runs on the i386 hardware platform and is compatible with a good base of existing GNU applications.

Features
--------
 - Written in ANSI C language (Assembly used only in the needed parts).
 - GRUB Multiboot Specification v1 compliant.
 - Full 32bit protected mode non-preemptive kernel.
 - For i386 processors and higher.
 - Preemptive multitasking.
 - POSIX-compliant (mostly).
 - Process groups, sessions and job control.
 - Interprocess communication with pipes, signals and UNIX-domain sockets.
 - UNIX System V IPC (semaphores, message queues and shared memory).
 - BSD file locking mechanism (POSIX restricted to file and advisory only).
 - Virtual memory splits (user/kernel): 3GB/1GB and 2GB/2GB.
 - Demand paging with Copy-On-Write feature.
 - Linux 2.0 i386 ABI system calls compatibility (mostly).
 - ELF-i386 executable format support (statically and dynamically linked).
 - Round Robin based scheduler algorithm (no priorities yet).
 - VFS abstraction layer.
 - Kexec support with Multiboot Specification v1 and Linux boot protocols.
 - EXT2 filesystem support with 1KB, 2KB and 4KB block sizes.
 - Minix v1 and v2 filesystem support.
 - Linux-like PROC filesystem support (read only).
 - PIPE pseudo-filesystem support.
 - ISO9660 filesystem support with Rock Ridge extensions.
 - RAMdisk device support.
 - Initial RAMdisk (initrd) image support.
 - SVGAlib based applications support.
 - PCI local bus support.
   - QEMU/Bochs Graphics Adapter support.
 - UNIX98 pseudoterminals (pty) and devpts filesystem support.
 - Virtual consoles support (up to 12).
 - Keyboard driver with Linux keymaps support.
 - PS/2 mouse support.
 - Framebuffer device support for VESA VBE 2.0+ compliant graphic cards.
 - Framebuffer console (fbcon) support.
 - Serial port (RS-232) driver support.
 - Remote serial console support.
 - QEMU Bochs-style debug console support.
 - Parallel port printer driver support.
 - Basic implementation of a Pseudo-Random Number Generator.
 - Floppy disk device driver and DMA management.
 - IDE/ATA ATAPI CD-ROM device driver.
 - IDE/ATA hard disk device driver.

Compiling
---------
The command needed to build the Fiwix kernel is `make clean ; make`.  This will create two the files in the root directory of the source code tree: **fiwix** (the kernel itself) and **System.map.gz** (the symbol table).

Before compiling you might want to tweak the kernel configuration by changing the default values in `include/fiwix/config.h` and `include/fiwix/limits.h`.

Keep in mind that the kernel doesn't do anything on its own, you need to create a user-space environment to make use of it. Upon booting, the kernel mounts the root filesystem and tries to run `/sbin/init` on it, so you would need to provide this program yourself.  Fortunately, [FiwixOS](https://www.fiwix.org/downloads.html) provides a full user-space UNIX-like environment to test the Fiwix kernel.

Installing
----------
You can proceed to install FiwixOS on a hard disk either by booting from the CD-ROM or from a floppy. If you chosen the latter, you will also need the Installation CD-ROM inserted in order to install the packages that form all the system environment.

Let the system boot and when you are ready, just type `install.sh`.

The minimal hardware requirements are as follows:

 - Standard IBM PC-AT architecture.
 - i386 processor (with floating-point processor).
 - 4MB of RAM memory (128MB recommended).
 - IDE/ATAPI CD-ROM or floppy disk (3.5", 1.44MB).
 - 1GB ATA hard disk.

Please keep in mind that this is a kernel in its very early stages and may well have serious bugs and broken features which have not yet been identified or resolved.

Let me repeat that.

Please keep in mind that this is a kernel in its very early stages and may well have serious bugs and broken features which have not yet been identified or resolved.

			*****************************
			*** USE AT YOUR OWN RISK! ***
			*****************************

References
----------
- [Website](https://www.fiwix.org)
- [IRC](https://web.libera.chat/)
- [Mailing List](https://lists.sourceforge.net/lists/listinfo/fiwix-general)

License
-------
Fiwix is free software licensed under the terms of the MIT License, see the LICENSE file for more details.  
Copyright (C) 2018-2025, Jordi Sanfeliu.

Credits
-------
Fiwix was created by [Jordi Sanfeliu](https://www.fibranet.cat).  
You can contact me at [jordi@fibranet.cat](mailto:jordi@fibranet.cat).
See also the LICENSE file for a list of contributors.



================================================
FILE: THANKS
================================================
THANKS!

A huge THANKS to all people who created their own hobby, and not so hobby,
operating systems and made them freely available on Internet.

From those simple "Hello world!\n" kernels to a real self-hosting operating
system, their projects were a invaluable source of information and inspiration
to create the Fiwix kernel.

A special thanks to OSDEV Community for their tutorials, documents, wikis, etc.

Jordi Sanfeliu
https://www.fiwix.org


================================================
FILE: docs/devices.txt
================================================
Fiwix allocated devices
=======================

Character

Major | Minor | Device name   | Description
------+-------+---------------+------------------------------------------------
1				Memory devices
	1	/dev/mem	physical memory access
	2	/dev/kmem	kernel virtual memory access
	3	/dev/null	null device
	4	/dev/port	I/O port access
	5	/dev/zero	null byte source
	7	/dev/full	returns ENOSPC on write
	8	/dev/random	random number generator
	9	/dev/urandom	random number generator (same as above)

4				TTY devices
	0	/dev/tty0	current virtual console
	1	/dev/tty1	first virtual console
	...	...
	12	/dev/tty12	12th virtual console
	64	/dev/ttyS0	first UART serial port
	65	/dev/ttyS1	second UART serial port
	66	/dev/ttyS2	third UART serial port
	67	/dev/ttyS3	fourth UART serial port

5				Alternate TTY devices
	0	/dev/tty	current tty device
	1	/dev/console	system console
	2	/dev/ptmx	PTY master multiplex

6				Parallel printer devices
	0	/dev/lp0	first parallel printer port

10				Non-serial mice
	1	/dev/psaux	PS/2-style mouse port

29				Universal framebuffer
	0	/dev/fb0	first framebuffer

136				UNIX98 PTY slaves
	0	/dev/pts/0	first UNIX98 pseudo-TTY
	1	/dev/pts/1	second UNIX98 pseudo-TTY
	...




Block

Major | Minor | Device name   | Description
------+-------+---------------+------------------------------------------------
1				RAMdisk drives
	0	/dev/ram0	first RAMdisk drive
	1	/dev/ram1	second RAMdisk drive
	...	...
	9	/dev/ram9	10th RAMdisk drive

2				Floppy disks (controller 0)
	0	/dev/fd0	floppy disk drive 0
	1	/dev/fd1	floppy disk drive 1
	4	/dev/fd0h360	floppy disk drive 0 (5.25" 360KB)
	5	/dev/fd1h360	floppy disk drive 1 (5.25" 360KB)
	8	/dev/fd0h1200	floppy disk drive 0 (5.25" 1.2MB)
	9	/dev/fd1h1200	floppy disk drive 1 (5.25" 1.2MB)
	12	/dev/fd0h720	floppy disk drive 0 (3.5" 720KB)
	13	/dev/fd1h720	floppy disk drive 1 (3.5" 720KB)
	16	/dev/fd0h1440	floppy disk drive 0 (3.5" 1.44MB)
	17	/dev/fd1h1440	floppy disk drive 1 (3.5" 1.44MB)

3				Primary ATA interface (hard disk or CD-ROM)
	0	/dev/hda	whole hard disk/CD-ROM master
	1	/dev/hda1	first partition
	2	/dev/hda2	second partition
	3	/dev/hda3	third partition
	4	/dev/hda4	fourth partition
	64	/dev/hdb	whole hard disk/CD-ROM slave
	65	/dev/hdb1	first partition
	66	/dev/hdb2	second partition
	67	/dev/hdb3	third partition
	68	/dev/hdb4	fourth partition

22				Secondary ATA interface (hard disk or CD-ROM)
	0	/dev/hdc	whole hard disk/CD-ROM master
	1	/dev/hdc1	first partition
	2	/dev/hdc2	second partition
	3	/dev/hdc3	third partition
	4	/dev/hdc4	fourth partition
	64	/dev/hdd	whole hard disk/CD-ROM slave
	65	/dev/hdd1	first partition
	66	/dev/hdd2	second partition
	67	/dev/hdd3	third partition
	68	/dev/hdd4	fourth partition



================================================
FILE: docs/initrd.txt
================================================
Initrd image size restriction
=============================
The Fiwix kernel supports very large initrd images with two different maximum
sizes depending on the type of the virtual memory split. If the configuration
option CONFIG_VM_SPLIT22 is not defined (the default case), the virtual memory
is divided as 3GB for the user and 1GB for the kernel, in this case the maximum
size of an initrd image will be near 1GB. When CONFIG_VM_SPLIT22 is defined,
which means 2GB for the user and 2GB for the kernel, then the maximum size can
be near 2GB.

In all, the memory layout of the Fiwix kernel imposes a small and, hopefully,
harmless restriction on an specific size of the initrd image.

Since the kernel Page Directory and Page Tables are placed right after the end
of the initrd image in memory, (see 'docs/kmem_layout.txt'), the PD and PTs will
probably conflict with a user program loaded at the address 0x08048000 if the
initrd image has a size of around 128MB.

In this case, is recommendable define a bigger initrd image to avoid PD and PTs
be placed in the same memory address as user programs.



================================================
FILE: docs/kernel-parameters.txt
================================================
Fiwix kernel parameters
=======================

The following is a list of the current kernel parameters:

bga=		Bochs Graphics Adapter resolution (width x height x bpp)
		Options: 640x480x32, 800x600x32, 1024x768x32

console=	Set the output console device.
		Options: /dev/tty[1..12], /dev/ttyS[0..3]
		Serial consoles have fixed settings: 9600,N,8,1

ide_nodma	Disable DMA in all ATA drives.

initrd=		Optional ramdisk image file which will be loaded by GRUB.

kexec_proto=	The boot method of the new kernel.
		Options: multiboot1, linux

kexec_size=	Size of the memory space to be reserved to allocate the new
		kernel (in KiB).

kexec_cmdline=	Command line to be passed to the new kernel (enclosed in double
		quotes).

ps2_noreset	Disable PS/2 controller reset.

ramdisksize=	Enable the RAM disk drive and configure its size (in KiB).

ro		Mount root device as read-only on boot.

root=		Root device name.
		Options: /dev/fd0, /dev/hda1, ...

rootfstype=	Set the root filesystem type.
		Options: ext2, minix, iso9660


Use -- to separate kernel parameters from arguments to init.

The kernel parses parameters from the kernel command line up to "--",
everything found after "--" is passed as an argument to init.



================================================
FILE: docs/kexec.txt
================================================
Fiwix kexec implementation
==========================
Kexec is a mechanism that let's you switch into a different kernel without
rebooting your machine. Its implementation in Fiwix differs from the Linux
kexec implementation because it doesn't need a system call nor specific
user-space tools, and your current system will completely shutdown before
jumping to the new kernel.

The new kernel can be another Fiwix kernel or any other ELF binary kernel as
long as it supports the Multiboot 1 Specification. It can also be a Linux Kernel
by using the Linux Boot protocol.

How it works
------------
Your system needs to know at boot-time that it might switch to a different
kernel. That is, you need to pass some special parameters in your kernel command
line during the system boot. The following are the three parameters that you
need to specify:

- kexec_proto=
  This is the boot method of the new kernel. Currently the supported values
  are 'multiboot1' and 'linux'.

- kexec_size=
  Size in KB of the memory space to be reserved to allocate the new kernel.

- kexec_cmdline=
  Command line to be passed to the new kernel (enclosed in double quotes).

Example of a kernel command line:
/boot/fiwix ro root=/dev/hda2 kexec_proto=multiboot1 kexec_size=500 \
kexec_cmdline="ro root=/dev/hda2"

The RAMdisk drives play an important role here. You already know that they can
be used to allocate an initrd image specified during the boot, or to allocate
one or more all-purpose RAMdisk drives. Now they are also used for kexec to
allocate the new kernel.

Kexec uses always the first unused RAMdisk drive. You'll know which one is the
first unused depending if you specified an initrd image, or if you specified to
have all-purpose RAMdisk drives at boot-time.

Fiwix is configured by default to have the following possible RAMdisk drives
layout:
	- If an initrd image was specified at boot-time then the first RAMdisk
	  drive is used for it (i.e: /dev/ram0).
	- If 'ramdisksize=' was specified at boot-time then the first unused
	  RAMDISK_DRIVES RAMdisk drives will be used.
	- If 'kexec_size=' was specified at boot-time then the first unused
	  RAMdisk drive will be used.

Let's see some examples to understand better these rules:

Example 1:
	- Kernel cmdline: "... ramdisksize=49152 initrd=/initrd.img"
	- Resulting RAMdisk drives layout:
		- /dev/ram0	-> initrd RAMdisk drive of 48MB (/ filesystem).
		- if RAMDISK_DRIVES == 1
			- /dev/ram1	-> all-purpose RAMdisk drive of 48MB.
		- if RAMDISK_DRIVES == 2
			- /dev/ram1	-> all-purpose RAMdisk drive of 48MB.
			- /dev/ram2	-> all-purpose RAMdisk drive of 48MB.
		...

Example 2:
	- Kernel cmdline: "... ramdisksize=16384"
	- Resulting RAMdisk drives layout:
		- if RAMDISK_DRIVES == 1
			- /dev/ram0	-> all-purpose RAMdisk drive of 16MB.
		- if RAMDISK_DRIVES == 2
			- /dev/ram0	-> all-purpose RAMdisk drive of 16MB.
			- /dev/ram1	-> all-purpose RAMdisk drive of 16MB.
		...

Example 3:
	- Kernel cmdline: "... ramdisksize=16384 kexec_size=500 ..."
	- Resulting RAMdisk drives layout:
		- if RAMDISK_DRIVES == 1
			- /dev/ram0	-> all-purpose RAMdisk drive of 16MB.
			- /dev/ram1	-> kexec RAMdisk drive of 500KB.
		- if RAMDISK_DRIVES == 2
			- /dev/ram0	-> all-purpose RAMdisk drive of 16MB.
			- /dev/ram1	-> all-purpose RAMdisk drive of 16MB.
			- /dev/ram2	-> kexec RAMdisk drive of 500KB.
		...


Multiboot
---------
Once you know what RAMdisk drive will be used to allocate the new kernel, you
can proceed to copy the ELF binary kernel into such RAMdisk drive by using a
common user-space tool like 'cp' or 'dd'.

Finally, when you are ready, just do a normal shutdown to switch automatically
to the new kernel.

Example:
# cp fiwix /dev/ram0
# shutdown -h 0


Linux
-----
In the case of Linux the boot protocol is different. The Linux kernel expects to
find two 32bit numbers (in little-endian format) at the beginning of the RAMdisk
drive. The first number is the length of the Linux kernel, and the second one is
the length of the initramfs. If the kernel doesn't need an initramfs, the length
must have a value of zero.

Right after both numbers you must copy the kernel image, and then the initramfs
image (if needed).

The RAMdisk drive should look like the following before to kexec:

+-----------+-----------+-------------------- ~~~ -+-------------------- ~~~ -+
| kernel    | initramfs |  the kernel image   ~~~ -|   the initramfs     ~~~ -|
| length    | length    |      'vmlinuz'      ~~~ -|   image (optional)  ~~~ -|
+-----------+-----------+-------------------- ~~~ -+-------------------- ~~~ -+
0            4           8                          n = (8 + kernel length)
offset (in bytes)


The following script might help you to format correctly the RAMdisk drive:

---------------------------------- 8< ----------------------------------------
KERNEL=linux-4.9.10
RAMFS=initramfs.cpio

size=$(printf "%08x" `stat -c %s $KERNEL` | tac -rs .. | echo "$(tr -d '\n')")
echo -n $size | xxd -r -p - /dev/ram0

if [ -n "$RAMFS" ]; then
        size=$(printf "%08x" `stat -c %s $RAMFS` | tac -rs .. | echo "$(tr -d '\n')")
else
        size=$(printf "%08x" `echo 0` | tac -rs .. | echo "$(tr -d '\n')")
fi
echo -n $size | xxd -r -p - | dd of=/dev/ram0 bs=1 seek=4

cat $KERNEL $RAMFS | dd of=/dev/ram0 bs=1 seek=8
---------------------------------- 8< ----------------------------------------

Finally, when you are ready, just do a normal shutdown to switch automatically
to the new kernel.

Example:
# shutdown -h 0



================================================
FILE: docs/kmem_layout.txt
================================================
Fiwix kernel memory address space on the i386 architecture
==========================================================

	+-------------------+ \
	| page_table        | |
	+-------------------+ |
	+-------------------+ |
	| page_hash_table   | |
	+-------------------+ | different
	+-------------------+ |
	| RAMdisk drives:   | | preallocated
	|   - initrd        | |
	|   - all-purpose   | | areas
	|   - kexec         | |
	+-------------------+ | of
	+-------------------+ |
	| fd_table          | | contiguous
	+-------------------+ |
	+-------------------+ | memory
	| inode_hash_table  | |
	+-------------------+ | spaces
	+-------------------+ |
	| buffer_hash_table | |
	+-------------------+ |
	+-------------------+ |
	| proc_table        | |
	+-------------------+ /
	+-------------------+
	| kpage_table       | kernel Page Tables
	+-------------------+
	+-------------------+
	| kpage_dir         | kernel Page Directory
	+-------------------+
	+-------------------+
	| initrd (optional) | allocated by GRUB or Multiboot
	+-------------------+
	+-------------------+
	| .bss section      |
	+-------------------+
	| .data section     |
	+-------------------+
	| .text section     | kernel binary (fiwix)
	+-------------------+
0x00100000
...
	+-------------------+
	| 4KB kpage_dir     | this page will be reused once the definitive
	| only used at boot | kpage_dir is installed
	+-------------------+
0x00050000
...
0x00010000
	+-------------------+
	| kernel stack (4k) | later used as stack for idle process
	+-------------------+
...
0x00000000


================================================
FILE: docs/system-console.txt
================================================
Fiwix system console
====================
It is possible to specify multiple devices for console output. You can define
up to NR_SYSCONSOLES 'console=' kernel command line options to select which
device(s) to use for console output.

Refer to 'include/fiwix/kparms.h' to know which devices are supported as
system consoles.

The device '/dev/tty0' is the default when no device is specified. It is
directly linked to the current virtual console in use, so by default, all
kernel messages will go to the current virtual console.

Since the VGA graphics is always present in the PC i386 architecture, the early
log messages will appear only in the first virtual console defined, regardless
if a serial console was also defined.



================================================
FILE: docs/tcc.txt
================================================
Fiwix can be built with a modified version of tcc instead of gcc.

A version of tcc which has been verified to compile Fiwix can be retrieved
(at the time of this writing) from the following URL:
https://download.savannah.gnu.org/releases/tinycc/tcc-0.9.27.tar.bz2

Fiwix uses a linker script to specify high virtual addresses for data
structures but uses low physical addresses for the addresses to load
the kernel sections into.

tcc does not support linker scripts and so a small modification must
be applied to tcc in order to calculate the appropriate physical addresess
for sections in the ELF header.

The layout_sections function in the file tccelf.c must be modified
(around line 1674).

This line:
                        ph->p_paddr = ph->p_vaddr;

Must be changed to this:
                        ph->p_paddr = ph->p_vaddr;
                        if (s1->text_addr == 0xC0100000)
                            ph->p_paddr = ph->p_paddr - 0xC0000000;
                        if (s1->text_addr == 0x80100000)
                            ph->p_paddr = ph->p_paddr - 0x80000000;


This change is specific to Fiwix and so it is unlikely to be incorporated
into the standard tcc compiler in the future.


Note that tcc does not support certain constructs used by CONFIG_OFFSET64
or CONFIG_PRINTK64, so you must undefine these options.

These commands will build Fiwix with tcc:

echo "#undef CONFIG_OFFSET64" > include/fiwix/custom_config.h
echo "#undef CONFIG_PRINTK64" >> include/fiwix/custom_config.h
make clean
make CCEXE="tcc" CONFFLAGS="-DCUSTOM_CONFIG_H"


================================================
FILE: docs/video/font-lat9-8x14.txt
================================================
	/* 0x00        */
0x00, 	/* -------- */
0x7e, 	/* -######- */
0xc3, 	/* ##----## */
0x99, 	/* #--##--# */
0x99, 	/* #--##--# */
0xf3, 	/* ####--## */
0xe7, 	/* ###--### */
0xe7, 	/* ###--### */
0xff, 	/* ######## */
0xe7, 	/* ###--### */
0xe7, 	/* ###--### */
0x7e, 	/* -######- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x01        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x76, 	/* -###-##- */
0xdc, 	/* ##-###-- */
0x00, 	/* -------- */
0x76, 	/* -###-##- */
0xdc, 	/* ##-###-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x02        */
0x00, 	/* -------- */
0x6e, 	/* -##-###- */
0xd8, 	/* ##-##--- */
0xd8, 	/* ##-##--- */
0xd8, 	/* ##-##--- */
0xd8, 	/* ##-##--- */
0xde, 	/* ##-####- */
0xd8, 	/* ##-##--- */
0xd8, 	/* ##-##--- */
0xd8, 	/* ##-##--- */
0x6e, 	/* -##-###- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x03        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x6e, 	/* -##-###- */
0xdb, 	/* ##-##-## */
0xdb, 	/* ##-##-## */
0xdf, 	/* ##-##### */
0xd8, 	/* ##-##--- */
0xdb, 	/* ##-##-## */
0x6e, 	/* -##-###- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x04        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x10, 	/* ---#---- */
0x38, 	/* --###--- */
0x7c, 	/* -#####-- */
0xfe, 	/* #######- */
0x7c, 	/* -#####-- */
0x38, 	/* --###--- */
0x10, 	/* ---#---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x05        */
0x00, 	/* -------- */
0x88, 	/* #---#--- */
0x88, 	/* #---#--- */
0xf8, 	/* #####--- */
0x88, 	/* #---#--- */
0x88, 	/* #---#--- */
0x00, 	/* -------- */
0x3e, 	/* --#####- */
0x08, 	/* ----#--- */
0x08, 	/* ----#--- */
0x08, 	/* ----#--- */
0x08, 	/* ----#--- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x06        */
0x00, 	/* -------- */
0xf8, 	/* #####--- */
0x80, 	/* #------- */
0xe0, 	/* ###----- */
0x80, 	/* #------- */
0x80, 	/* #------- */
0x00, 	/* -------- */
0x3e, 	/* --#####- */
0x20, 	/* --#----- */
0x38, 	/* --###--- */
0x20, 	/* --#----- */
0x20, 	/* --#----- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x07        */
0x00, 	/* -------- */
0x78, 	/* -####--- */
0x80, 	/* #------- */
0x80, 	/* #------- */
0x80, 	/* #------- */
0x78, 	/* -####--- */
0x00, 	/* -------- */
0x3c, 	/* --####-- */
0x22, 	/* --#---#- */
0x3e, 	/* --#####- */
0x24, 	/* --#--#-- */
0x22, 	/* --#---#- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x08        */
0x00, 	/* -------- */
0x80, 	/* #------- */
0x80, 	/* #------- */
0x80, 	/* #------- */
0x80, 	/* #------- */
0xf8, 	/* #####--- */
0x00, 	/* -------- */
0x3e, 	/* --#####- */
0x20, 	/* --#----- */
0x38, 	/* --###--- */
0x20, 	/* --#----- */
0x20, 	/* --#----- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x09        */
0x88, 	/* #---#--- */
0x22, 	/* --#---#- */
0x88, 	/* #---#--- */
0x22, 	/* --#---#- */
0x88, 	/* #---#--- */
0x22, 	/* --#---#- */
0x88, 	/* #---#--- */
0x22, 	/* --#---#- */
0x88, 	/* #---#--- */
0x22, 	/* --#---#- */
0x88, 	/* #---#--- */
0x22, 	/* --#---#- */
0x88, 	/* #---#--- */
0x22, 	/* --#---#- */

	/* 0x0a        */
0xaa, 	/* #-#-#-#- */
0x55, 	/* -#-#-#-# */
0xaa, 	/* #-#-#-#- */
0x55, 	/* -#-#-#-# */
0xaa, 	/* #-#-#-#- */
0x55, 	/* -#-#-#-# */
0xaa, 	/* #-#-#-#- */
0x55, 	/* -#-#-#-# */
0xaa, 	/* #-#-#-#- */
0x55, 	/* -#-#-#-# */
0xaa, 	/* #-#-#-#- */
0x55, 	/* -#-#-#-# */
0xaa, 	/* #-#-#-#- */
0x55, 	/* -#-#-#-# */

	/* 0x0b        */
0xbb, 	/* #-###-## */
0xee, 	/* ###-###- */
0xbb, 	/* #-###-## */
0xee, 	/* ###-###- */
0xbb, 	/* #-###-## */
0xee, 	/* ###-###- */
0xbb, 	/* #-###-## */
0xee, 	/* ###-###- */
0xbb, 	/* #-###-## */
0xee, 	/* ###-###- */
0xbb, 	/* #-###-## */
0xee, 	/* ###-###- */
0xbb, 	/* #-###-## */
0xee, 	/* ###-###- */

	/* 0x0c        */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */

	/* 0x0d        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */

	/* 0x0e        */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x0f        */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */

	/* 0x10        */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */

	/* 0x11        */
0x00, 	/* -------- */
0x88, 	/* #---#--- */
0xc8, 	/* ##--#--- */
0xa8, 	/* #-#-#--- */
0x98, 	/* #--##--- */
0x88, 	/* #---#--- */
0x00, 	/* -------- */
0x20, 	/* --#----- */
0x20, 	/* --#----- */
0x20, 	/* --#----- */
0x20, 	/* --#----- */
0x3e, 	/* --#####- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x12        */
0x00, 	/* -------- */
0x88, 	/* #---#--- */
0x88, 	/* #---#--- */
0x50, 	/* -#-#---- */
0x50, 	/* -#-#---- */
0x20, 	/* --#----- */
0x00, 	/* -------- */
0x3e, 	/* --#####- */
0x08, 	/* ----#--- */
0x08, 	/* ----#--- */
0x08, 	/* ----#--- */
0x08, 	/* ----#--- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x13        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x06, 	/* -----##- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x7e, 	/* -######- */
0x00, 	/* -------- */
0x7e, 	/* -######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x14        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x60, 	/* -##----- */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x0c, 	/* ----##-- */
0x7e, 	/* -######- */
0x00, 	/* -------- */
0x7e, 	/* -######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x15        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x06, 	/* -----##- */
0x0c, 	/* ----##-- */
0xfe, 	/* #######- */
0x38, 	/* --###--- */
0xfe, 	/* #######- */
0x60, 	/* -##----- */
0xc0, 	/* ##------ */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x16        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x02, 	/* ------#- */
0x0e, 	/* ----###- */
0x3e, 	/* --#####- */
0x7e, 	/* -######- */
0xfe, 	/* #######- */
0x7e, 	/* -######- */
0x3e, 	/* --#####- */
0x0e, 	/* ----###- */
0x02, 	/* ------#- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x17        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x80, 	/* #------- */
0xe0, 	/* ###----- */
0xf0, 	/* ####---- */
0xfc, 	/* ######-- */
0xfe, 	/* #######- */
0xfc, 	/* ######-- */
0xf0, 	/* ####---- */
0xe0, 	/* ###----- */
0x80, 	/* #------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x18        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x7e, 	/* -######- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x19        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x7e, 	/* -######- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x1a        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x0c, 	/* ----##-- */
0xfe, 	/* #######- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x1b        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x30, 	/* --##---- */
0x60, 	/* -##----- */
0xfe, 	/* #######- */
0x60, 	/* -##----- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x1c        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x7e, 	/* -######- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x7e, 	/* -######- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x1d        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x28, 	/* --#-#--- */
0x6c, 	/* -##-##-- */
0xfe, 	/* #######- */
0x6c, 	/* -##-##-- */
0x28, 	/* --#-#--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x1e        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0x36, 	/* --##-##- */
0x66, 	/* -##--##- */
0xfe, 	/* #######- */
0x60, 	/* -##----- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x1f        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc0, 	/* ##------ */
0x7c, 	/* -#####-- */
0x6e, 	/* -##-###- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x20  (' ') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x21  ('!') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x3c, 	/* --####-- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x22  ('"') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x36, 	/* --##-##- */
0x36, 	/* --##-##- */
0x14, 	/* ---#-#-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x23  ('#') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x6c, 	/* -##-##-- */
0xfe, 	/* #######- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0xfe, 	/* #######- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x24  ('$') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x10, 	/* ---#---- */
0x7c, 	/* -#####-- */
0xd6, 	/* ##-#-##- */
0x70, 	/* -###---- */
0x38, 	/* --###--- */
0x1c, 	/* ---###-- */
0xd6, 	/* ##-#-##- */
0x7c, 	/* -#####-- */
0x10, 	/* ---#---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x25  ('%') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x62, 	/* -##---#- */
0x66, 	/* -##--##- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x66, 	/* -##--##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x26  ('&') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */
0x38, 	/* --###--- */
0x76, 	/* -###-##- */
0xf6, 	/* ####-##- */
0xce, 	/* ##--###- */
0xcc, 	/* ##--##-- */
0x76, 	/* -###-##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x27  (''') */
0x00, 	/* -------- */
0x1c, 	/* ---###-- */
0x1c, 	/* ---###-- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x28  ('(') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x0c, 	/* ----##-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x29  (')') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x2a  ('*') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */
0xfe, 	/* #######- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x2b  ('+') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x7e, 	/* -######- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x2c  (',') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x2d  ('-') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x2e  ('.') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x2f  ('/') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x06, 	/* -----##- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x60, 	/* -##----- */
0xc0, 	/* ##------ */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x30  ('0') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xd6, 	/* ##-#-##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x31  ('1') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x78, 	/* -####--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x7e, 	/* -######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x32  ('2') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x60, 	/* -##----- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x33  ('3') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0x3c, 	/* --####-- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x34  ('4') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x0c, 	/* ----##-- */
0x1c, 	/* ---###-- */
0x3c, 	/* --####-- */
0x6c, 	/* -##-##-- */
0xcc, 	/* ##--##-- */
0xfe, 	/* #######- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x35  ('5') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xfc, 	/* ######-- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x36  ('6') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xfc, 	/* ######-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x37  ('7') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0xc6, 	/* ##---##- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x38  ('8') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x39  ('9') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7e, 	/* -######- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x3a  (':') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x3b  (';') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x3c  ('<') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x60, 	/* -##----- */
0xc0, 	/* ##------ */
0x60, 	/* -##----- */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x0c, 	/* ----##-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x3d  ('=') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x3e  ('>') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x60, 	/* -##----- */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x0c, 	/* ----##-- */
0x06, 	/* -----##- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x60, 	/* -##----- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x3f  ('?') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x40  ('@') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xde, 	/* ##-####- */
0xde, 	/* ##-####- */
0xde, 	/* ##-####- */
0xdc, 	/* ##-###-- */
0xc0, 	/* ##------ */
0x7e, 	/* -######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x41  ('A') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x42  ('B') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfc, 	/* ######-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x7c, 	/* -#####-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0xfc, 	/* ######-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x43  ('C') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x3c, 	/* --####-- */
0x66, 	/* -##--##- */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0x66, 	/* -##--##- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x44  ('D') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xf8, 	/* #####--- */
0x6c, 	/* -##-##-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x6c, 	/* -##-##-- */
0xf8, 	/* #####--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x45  ('E') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0x66, 	/* -##--##- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x7c, 	/* -#####-- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x66, 	/* -##--##- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x46  ('F') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0x66, 	/* -##--##- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x7c, 	/* -#####-- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0xf0, 	/* ####---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x47  ('G') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xce, 	/* ##--###- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x48  ('H') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x49  ('I') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x4a  ('J') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0xd8, 	/* ##-##--- */
0xd8, 	/* ##-##--- */
0x70, 	/* -###---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x4b  ('K') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xcc, 	/* ##--##-- */
0xd8, 	/* ##-##--- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xd8, 	/* ##-##--- */
0xcc, 	/* ##--##-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x4c  ('L') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xf0, 	/* ####---- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x62, 	/* -##---#- */
0x66, 	/* -##--##- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x4d  ('M') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xee, 	/* ###-###- */
0xfe, 	/* #######- */
0xd6, 	/* ##-#-##- */
0xd6, 	/* ##-#-##- */
0xd6, 	/* ##-#-##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x4e  ('N') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xe6, 	/* ###--##- */
0xe6, 	/* ###--##- */
0xf6, 	/* ####-##- */
0xde, 	/* ##-####- */
0xce, 	/* ##--###- */
0xce, 	/* ##--###- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x4f  ('O') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x50  ('P') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfc, 	/* ######-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x7c, 	/* -#####-- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0xf0, 	/* ####---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x51  ('Q') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xd6, 	/* ##-#-##- */
0x7c, 	/* -#####-- */
0x06, 	/* -----##- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x52  ('R') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfc, 	/* ######-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x7c, 	/* -#####-- */
0x78, 	/* -####--- */
0x6c, 	/* -##-##-- */
0x66, 	/* -##--##- */
0xe6, 	/* ###--##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x53  ('S') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc0, 	/* ##------ */
0x60, 	/* -##----- */
0x38, 	/* --###--- */
0x0c, 	/* ----##-- */
0x06, 	/* -----##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x54  ('T') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7e, 	/* -######- */
0x5a, 	/* -#-##-#- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x55  ('U') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x56  ('V') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */
0x10, 	/* ---#---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x57  ('W') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xd6, 	/* ##-#-##- */
0xd6, 	/* ##-#-##- */
0xd6, 	/* ##-#-##- */
0xfe, 	/* #######- */
0xee, 	/* ###-###- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x58  ('X') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */
0x38, 	/* --###--- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x59  ('Y') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x5a  ('Z') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0xc6, 	/* ##---##- */
0x8c, 	/* #---##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x60, 	/* -##----- */
0xc2, 	/* ##----#- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x5b  ('[') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x5c  ('\') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc0, 	/* ##------ */
0x60, 	/* -##----- */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x0c, 	/* ----##-- */
0x06, 	/* -----##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x5d  (']') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x5e  ('^') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x66, 	/* -##--##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x5f  ('_') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xff, 	/* ######## */

	/* 0x60  ('`') */
0x00, 	/* -------- */
0x1c, 	/* ---###-- */
0x1c, 	/* ---###-- */
0x18, 	/* ---##--- */
0x0c, 	/* ----##-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x61  ('a') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x78, 	/* -####--- */
0x0c, 	/* ----##-- */
0x7c, 	/* -#####-- */
0xcc, 	/* ##--##-- */
0xdc, 	/* ##-###-- */
0x76, 	/* -###-##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x62  ('b') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xe0, 	/* ###----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x7c, 	/* -#####-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0xfc, 	/* ######-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x63  ('c') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x64  ('d') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x1c, 	/* ---###-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x7c, 	/* -#####-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0x7e, 	/* -######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x65  ('e') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0xc0, 	/* ##------ */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x66  ('f') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x1c, 	/* ---###-- */
0x36, 	/* --##-##- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0xfc, 	/* ######-- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x78, 	/* -####--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x67  ('g') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x76, 	/* -###-##- */
0xce, 	/* ##--###- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7e, 	/* -######- */
0x06, 	/* -----##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */

	/* 0x68  ('h') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xe0, 	/* ###----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x6c, 	/* -##-##-- */
0x76, 	/* -###-##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0xe6, 	/* ###--##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x69  ('i') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x6a  ('j') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x00, 	/* -------- */
0x1c, 	/* ---###-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0x78, 	/* -####--- */
0x00, 	/* -------- */

	/* 0x6b  ('k') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xe0, 	/* ###----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x66, 	/* -##--##- */
0x6c, 	/* -##-##-- */
0x78, 	/* -####--- */
0x6c, 	/* -##-##-- */
0x66, 	/* -##--##- */
0xe6, 	/* ###--##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x6c  ('l') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x6d  ('m') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x6c, 	/* -##-##-- */
0xfe, 	/* #######- */
0xd6, 	/* ##-#-##- */
0xd6, 	/* ##-#-##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x6e  ('n') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xdc, 	/* ##-###-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x6f  ('o') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x70  ('p') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xdc, 	/* ##-###-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x7c, 	/* -#####-- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0xf0, 	/* ####---- */
0x00, 	/* -------- */

	/* 0x71  ('q') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x76, 	/* -###-##- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0x7c, 	/* -#####-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x1e, 	/* ---####- */
0x00, 	/* -------- */

	/* 0x72  ('r') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xdc, 	/* ##-###-- */
0x66, 	/* -##--##- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0xf0, 	/* ####---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x73  ('s') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0x70, 	/* -###---- */
0x1c, 	/* ---###-- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x74  ('t') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0xfc, 	/* ######-- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x36, 	/* --##-##- */
0x1c, 	/* ---###-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x75  ('u') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0x76, 	/* -###-##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x76  ('v') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */
0x10, 	/* ---#---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x77  ('w') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xd6, 	/* ##-#-##- */
0xd6, 	/* ##-#-##- */
0xfe, 	/* #######- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x78  ('x') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x79  ('y') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xce, 	/* ##--###- */
0x76, 	/* -###-##- */
0x06, 	/* -----##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */

	/* 0x7a  ('z') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0x8c, 	/* #---##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x62, 	/* -##---#- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x7b  ('{') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x0e, 	/* ----###- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x70, 	/* -###---- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x0e, 	/* ----###- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x7c  ('|') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x7d  ('}') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x70, 	/* -###---- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x0e, 	/* ----###- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x70, 	/* -###---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x7e  ('~') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x76, 	/* -###-##- */
0xdc, 	/* ##-###-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x7f        */
0x00, 	/* -------- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x00, 	/* -------- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x80        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xff, 	/* ######## */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x81        */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x82        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x1f, 	/* ---##### */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x83        */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x1f, 	/* ---##### */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x84        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */

	/* 0x85        */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */

	/* 0x86        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x1f, 	/* ---##### */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */

	/* 0x87        */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x1f, 	/* ---##### */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */

	/* 0x88        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xf8, 	/* #####--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x89        */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0xf8, 	/* #####--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x8a        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xff, 	/* ######## */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x8b        */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0xff, 	/* ######## */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x8c        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xf8, 	/* #####--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */

	/* 0x8d        */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0xf8, 	/* #####--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */

	/* 0x8e        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xff, 	/* ######## */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */

	/* 0x8f        */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0xff, 	/* ######## */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */

	/* 0x90        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xff, 	/* ######## */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x91        */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x92        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x3f, 	/* --###### */
0x30, 	/* --##---- */
0x3f, 	/* --###### */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x93        */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6f, 	/* -##-#### */
0x60, 	/* -##----- */
0x7f, 	/* -####### */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x94        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */

	/* 0x95        */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */

	/* 0x96        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7f, 	/* -####### */
0x60, 	/* -##----- */
0x6f, 	/* -##-#### */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */

	/* 0x97        */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6f, 	/* -##-#### */
0x60, 	/* -##----- */
0x6f, 	/* -##-#### */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */

	/* 0x98        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfc, 	/* ######-- */
0x0c, 	/* ----##-- */
0xfc, 	/* ######-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x99        */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0xec, 	/* ###-##-- */
0x0c, 	/* ----##-- */
0xfc, 	/* ######-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x9a        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xff, 	/* ######## */
0x00, 	/* -------- */
0xff, 	/* ######## */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x9b        */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0xef, 	/* ###-#### */
0x00, 	/* -------- */
0xff, 	/* ######## */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x9c        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfc, 	/* ######-- */
0x0c, 	/* ----##-- */
0xec, 	/* ###-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */

	/* 0x9d        */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0xec, 	/* ###-##-- */
0x0c, 	/* ----##-- */
0xec, 	/* ###-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */

	/* 0x9e        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xff, 	/* ######## */
0x00, 	/* -------- */
0xef, 	/* ###-#### */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */

	/* 0x9f        */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0xef, 	/* ###-#### */
0x00, 	/* -------- */
0xef, 	/* ###-#### */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */

	/* 0xa0        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x82, 	/* #-----#- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xa1        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x3c, 	/* --####-- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */

	/* 0xa2        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x10, 	/* ---#---- */
0x7c, 	/* -#####-- */
0xd6, 	/* ##-#-##- */
0xd0, 	/* ##-#---- */
0xd0, 	/* ##-#---- */
0xd6, 	/* ##-#-##- */
0x7c, 	/* -#####-- */
0x10, 	/* ---#---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xa3        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0xf0, 	/* ####---- */
0x60, 	/* -##----- */
0x66, 	/* -##--##- */
0xf6, 	/* ####-##- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xa4        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x3c, 	/* --####-- */
0x62, 	/* -##---#- */
0x60, 	/* -##----- */
0xf8, 	/* #####--- */
0x60, 	/* -##----- */
0xf8, 	/* #####--- */
0x60, 	/* -##----- */
0x62, 	/* -##---#- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xa5        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x7e, 	/* -######- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xa6        */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x60, 	/* -##----- */
0x1c, 	/* ---###-- */
0x06, 	/* -----##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xa7        */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x60, 	/* -##----- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x0c, 	/* ----##-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */

	/* 0xa8        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xa9        */
0x00, 	/* -------- */
0x7e, 	/* -######- */
0x81, 	/* #------# */
0x99, 	/* #--##--# */
0xa5, 	/* #-#--#-# */
0xa1, 	/* #-#----# */
0xa5, 	/* #-#--#-# */
0x99, 	/* #--##--# */
0x81, 	/* #------# */
0x7e, 	/* -######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xaa        */
0x00, 	/* -------- */
0x3c, 	/* --####-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x3e, 	/* --#####- */
0x00, 	/* -------- */
0x7e, 	/* -######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xab        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x36, 	/* --##-##- */
0x6c, 	/* -##-##-- */
0xd8, 	/* ##-##--- */
0x6c, 	/* -##-##-- */
0x36, 	/* --##-##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xac        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7e, 	/* -######- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xad        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7e, 	/* -######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xae        */
0x00, 	/* -------- */
0x7e, 	/* -######- */
0x81, 	/* #------# */
0xb9, 	/* #-###--# */
0xa5, 	/* #-#--#-# */
0xb9, 	/* #-###--# */
0xa5, 	/* #-#--#-# */
0xa5, 	/* #-#--#-# */
0x81, 	/* #------# */
0x7e, 	/* -######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xaf        */
0xff, 	/* ######## */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xb0        */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xb1        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x7e, 	/* -######- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x7e, 	/* -######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xb2        */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xb3        */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0x18, 	/* ---##--- */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xb4        */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0xc6, 	/* ##---##- */
0x8c, 	/* #---##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x62, 	/* -##---#- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xb5        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xf6, 	/* ####-##- */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */

	/* 0xb6        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7f, 	/* -####### */
0xdb, 	/* ##-##-## */
0xdb, 	/* ##-##-## */
0xdb, 	/* ##-##-## */
0x7b, 	/* -####-## */
0x1b, 	/* ---##-## */
0x1b, 	/* ---##-## */
0x1b, 	/* ---##-## */
0x1b, 	/* ---##-## */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xb7        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xb8        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0x8c, 	/* #---##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x62, 	/* -##---#- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xb9        */
0x00, 	/* -------- */
0x30, 	/* --##---- */
0x70, 	/* -###---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x78, 	/* -####--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xba        */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xbb        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xd8, 	/* ##-##--- */
0x6c, 	/* -##-##-- */
0x36, 	/* --##-##- */
0x6c, 	/* -##-##-- */
0xd8, 	/* ##-##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xbc        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x77, 	/* -###-### */
0xdf, 	/* ##-##### */
0xd8, 	/* ##-##--- */
0xde, 	/* ##-####- */
0xde, 	/* ##-####- */
0xd8, 	/* ##-##--- */
0xd8, 	/* ##-##--- */
0xdf, 	/* ##-##### */
0x77, 	/* -###-### */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xbd        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x6e, 	/* -##-###- */
0xdb, 	/* ##-##-## */
0xdf, 	/* ##-##### */
0xd8, 	/* ##-##--- */
0xdb, 	/* ##-##-## */
0x6e, 	/* -##-###- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xbe        */
0x00, 	/* -------- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x00, 	/* -------- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xbf        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x60, 	/* -##----- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */

	/* 0xc0        */
0x60, 	/* -##----- */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xc1        */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xc2        */
0x10, 	/* ---#---- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xc3        */
0x00, 	/* -------- */
0x76, 	/* -###-##- */
0xdc, 	/* ##-###-- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xc4        */
0x00, 	/* -------- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xc5        */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xc6        */
0x00, 	/* -------- */
0x7e, 	/* -######- */
0xd8, 	/* ##-##--- */
0xd8, 	/* ##-##--- */
0xd8, 	/* ##-##--- */
0xd8, 	/* ##-##--- */
0xfe, 	/* #######- */
0xd8, 	/* ##-##--- */
0xd8, 	/* ##-##--- */
0xd8, 	/* ##-##--- */
0xde, 	/* ##-####- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xc7        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x3c, 	/* --####-- */
0x66, 	/* -##--##- */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0x66, 	/* -##--##- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */

	/* 0xc8        */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x0c, 	/* ----##-- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0x66, 	/* -##--##- */
0x60, 	/* -##----- */
0x7c, 	/* -#####-- */
0x60, 	/* -##----- */
0x66, 	/* -##--##- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xc9        */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0x66, 	/* -##--##- */
0x60, 	/* -##----- */
0x7c, 	/* -#####-- */
0x60, 	/* -##----- */
0x66, 	/* -##--##- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xca        */
0x10, 	/* ---#---- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0x66, 	/* -##--##- */
0x60, 	/* -##----- */
0x7c, 	/* -#####-- */
0x60, 	/* -##----- */
0x66, 	/* -##--##- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xcb        */
0x00, 	/* -------- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0x66, 	/* -##--##- */
0x60, 	/* -##----- */
0x7c, 	/* -#####-- */
0x60, 	/* -##----- */
0x66, 	/* -##--##- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xcc        */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x0c, 	/* ----##-- */
0x00, 	/* -------- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xcd        */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xce        */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x66, 	/* -##--##- */
0x00, 	/* -------- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xcf        */
0x00, 	/* -------- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x00, 	/* -------- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xd0        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xf8, 	/* #####--- */
0x6c, 	/* -##-##-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0xf6, 	/* ####-##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x6c, 	/* -##-##-- */
0xf8, 	/* #####--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xd1        */
0x00, 	/* -------- */
0x76, 	/* -###-##- */
0xdc, 	/* ##-###-- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xe6, 	/* ###--##- */
0xf6, 	/* ####-##- */
0xde, 	/* ##-####- */
0xce, 	/* ##--###- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xd2        */
0x60, 	/* -##----- */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xd3        */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xd4        */
0x10, 	/* ---#---- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xd5        */
0x00, 	/* -------- */
0x76, 	/* -###-##- */
0xdc, 	/* ##-###-- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xd6        */
0x00, 	/* -------- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xd7        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xd8        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7e, 	/* -######- */
0xc6, 	/* ##---##- */
0xce, 	/* ##--###- */
0xde, 	/* ##-####- */
0xd6, 	/* ##-#-##- */
0xf6, 	/* ####-##- */
0xe6, 	/* ###--##- */
0xc6, 	/* ##---##- */
0xfc, 	/* ######-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xd9        */
0x60, 	/* -##----- */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xda        */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xdb        */
0x10, 	/* ---#---- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xdc        */
0x00, 	/* -------- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xdd        */
0x06, 	/* -----##- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xde        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xf0, 	/* ####---- */
0x60, 	/* -##----- */
0x7c, 	/* -#####-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x7c, 	/* -#####-- */
0x60, 	/* -##----- */
0xf0, 	/* ####---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xdf        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xcc, 	/* ##--##-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xd6, 	/* ##-#-##- */
0xdc, 	/* ##-###-- */
0x80, 	/* #------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xe0        */
0x00, 	/* -------- */
0x60, 	/* -##----- */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x78, 	/* -####--- */
0x0c, 	/* ----##-- */
0x7c, 	/* -#####-- */
0xcc, 	/* ##--##-- */
0xdc, 	/* ##-###-- */
0x76, 	/* -###-##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xe1        */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x60, 	/* -##----- */
0x00, 	/* -------- */
0x78, 	/* -####--- */
0x0c, 	/* ----##-- */
0x7c, 	/* -#####-- */
0xcc, 	/* ##--##-- */
0xdc, 	/* ##-###-- */
0x76, 	/* -###-##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xe2        */
0x00, 	/* -------- */
0x30, 	/* --##---- */
0x78, 	/* -####--- */
0xcc, 	/* ##--##-- */
0x00, 	/* -------- */
0x78, 	/* -####--- */
0x0c, 	/* ----##-- */
0x7c, 	/* -#####-- */
0xcc, 	/* ##--##-- */
0xdc, 	/* ##-###-- */
0x76, 	/* -###-##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xe3        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x76, 	/* -###-##- */
0xdc, 	/* ##-###-- */
0x00, 	/* -------- */
0x78, 	/* -####--- */
0x0c, 	/* ----##-- */
0x7c, 	/* -#####-- */
0xcc, 	/* ##--##-- */
0xdc, 	/* ##-###-- */
0x76, 	/* -###-##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xe4        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x78, 	/* -####--- */
0x0c, 	/* ----##-- */
0x7c, 	/* -#####-- */
0xcc, 	/* ##--##-- */
0xdc, 	/* ##-###-- */
0x76, 	/* -###-##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xe5        */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */
0x00, 	/* -------- */
0x78, 	/* -####--- */
0x0c, 	/* ----##-- */
0x7c, 	/* -#####-- */
0xcc, 	/* ##--##-- */
0xdc, 	/* ##-###-- */
0x76, 	/* -###-##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xe6        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7e, 	/* -######- */
0xdb, 	/* ##-##-## */
0x1b, 	/* ---##-## */
0x7f, 	/* -####### */
0xd8, 	/* ##-##--- */
0xdb, 	/* ##-##-## */
0x7e, 	/* -######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xe7        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x18, 	/* ---##--- */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */

	/* 0xe8        */
0x00, 	/* -------- */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x0c, 	/* ----##-- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0xc0, 	/* ##------ */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xe9        */
0x00, 	/* -------- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0xc0, 	/* ##------ */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xea        */
0x00, 	/* -------- */
0x10, 	/* ---#---- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0xc0, 	/* ##------ */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xeb        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0xc0, 	/* ##------ */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xec        */
0x00, 	/* -------- */
0x60, 	/* -##----- */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xed        */
0x00, 	/* -------- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xee        */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x66, 	/* -##--##- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xef        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xf0        */
0x00, 	/* -------- */
0x78, 	/* -####--- */
0x30, 	/* --##---- */
0x78, 	/* -####--- */
0x0c, 	/* ----##-- */
0x7e, 	/* -######- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xf1        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x76, 	/* -###-##- */
0xdc, 	/* ##-###-- */
0x00, 	/* -------- */
0xdc, 	/* ##-###-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xf2        */
0x00, 	/* -------- */
0x60, 	/* -##----- */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xf3        */
0x00, 	/* -------- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xf4        */
0x00, 	/* -------- */
0x10, 	/* ---#---- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xf5        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x76, 	/* -###-##- */
0xdc, 	/* ##-###-- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xf6        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xf7        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x7e, 	/* -######- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xf8        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7e, 	/* -######- */
0xce, 	/* ##--###- */
0xde, 	/* ##-####- */
0xf6, 	/* ####-##- */
0xe6, 	/* ###--##- */
0xfc, 	/* ######-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xf9        */
0x00, 	/* -------- */
0xc0, 	/* ##------ */
0x60, 	/* -##----- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0x76, 	/* -###-##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xfa        */
0x00, 	/* -------- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0x76, 	/* -###-##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xfb        */
0x00, 	/* -------- */
0x30, 	/* --##---- */
0x78, 	/* -####--- */
0xcc, 	/* ##--##-- */
0x00, 	/* -------- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0x76, 	/* -###-##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xfc        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0x00, 	/* -------- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0x76, 	/* -###-##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0xfd        */
0x00, 	/* -------- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xce, 	/* ##--###- */
0x76, 	/* -###-##- */
0x06, 	/* -----##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */

	/* 0xfe        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xf0, 	/* ####---- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x78, 	/* -####--- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x78, 	/* -####--- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0xf0, 	/* ####---- */

	/* 0xff        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xce, 	/* ##--###- */
0x76, 	/* -###-##- */
0x06, 	/* -----##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */


/* cursor shape (8x14) */
0x00,   /* -------- */
0x00,   /* -------- */
0x00,   /* -------- */
0x00,   /* -------- */
0x00,   /* -------- */
0x00,   /* -------- */
0x00,   /* -------- */
0x00,   /* -------- */
0x00,   /* -------- */
0x00,   /* -------- */
0x00,   /* -------- */
0x00,   /* -------- */
0xFF,   /* ######## */
0xFF,   /* ######## */



================================================
FILE: docs/video/font-lat9-8x16.txt
================================================
	/* 0x00        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7e, 	/* -######- */
0xc3, 	/* ##----## */
0x99, 	/* #--##--# */
0x99, 	/* #--##--# */
0xf3, 	/* ####--## */
0xe7, 	/* ###--### */
0xe7, 	/* ###--### */
0xff, 	/* ######## */
0xe7, 	/* ###--### */
0xe7, 	/* ###--### */
0x7e, 	/* -######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x01        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x76, 	/* -###-##- */
0xdc, 	/* ##-###-- */
0x00, 	/* -------- */
0x76, 	/* -###-##- */
0xdc, 	/* ##-###-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x02        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x6e, 	/* -##-###- */
0xf8, 	/* #####--- */
0xd8, 	/* ##-##--- */
0xd8, 	/* ##-##--- */
0xdc, 	/* ##-###-- */
0xd8, 	/* ##-##--- */
0xd8, 	/* ##-##--- */
0xd8, 	/* ##-##--- */
0xf8, 	/* #####--- */
0x6e, 	/* -##-###- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x03        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x6e, 	/* -##-###- */
0xdb, 	/* ##-##-## */
0xdb, 	/* ##-##-## */
0xdf, 	/* ##-##### */
0xd8, 	/* ##-##--- */
0xdb, 	/* ##-##-## */
0x6e, 	/* -##-###- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x04        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x10, 	/* ---#---- */
0x38, 	/* --###--- */
0x7c, 	/* -#####-- */
0xfe, 	/* #######- */
0x7c, 	/* -#####-- */
0x38, 	/* --###--- */
0x10, 	/* ---#---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x05        */
0x00, 	/* -------- */
0x88, 	/* #---#--- */
0x88, 	/* #---#--- */
0xf8, 	/* #####--- */
0x88, 	/* #---#--- */
0x88, 	/* #---#--- */
0x00, 	/* -------- */
0x3e, 	/* --#####- */
0x08, 	/* ----#--- */
0x08, 	/* ----#--- */
0x08, 	/* ----#--- */
0x08, 	/* ----#--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x06        */
0x00, 	/* -------- */
0xf8, 	/* #####--- */
0x80, 	/* #------- */
0xe0, 	/* ###----- */
0x80, 	/* #------- */
0x80, 	/* #------- */
0x00, 	/* -------- */
0x3e, 	/* --#####- */
0x20, 	/* --#----- */
0x38, 	/* --###--- */
0x20, 	/* --#----- */
0x20, 	/* --#----- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x07        */
0x00, 	/* -------- */
0x70, 	/* -###---- */
0x88, 	/* #---#--- */
0x80, 	/* #------- */
0x88, 	/* #---#--- */
0x70, 	/* -###---- */
0x00, 	/* -------- */
0x3c, 	/* --####-- */
0x22, 	/* --#---#- */
0x3c, 	/* --####-- */
0x24, 	/* --#--#-- */
0x22, 	/* --#---#- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x08        */
0x00, 	/* -------- */
0x80, 	/* #------- */
0x80, 	/* #------- */
0x80, 	/* #------- */
0x80, 	/* #------- */
0xf8, 	/* #####--- */
0x00, 	/* -------- */
0x3e, 	/* --#####- */
0x20, 	/* --#----- */
0x38, 	/* --###--- */
0x20, 	/* --#----- */
0x20, 	/* --#----- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x09        */
0x11, 	/* ---#---# */
0x44, 	/* -#---#-- */
0x11, 	/* ---#---# */
0x44, 	/* -#---#-- */
0x11, 	/* ---#---# */
0x44, 	/* -#---#-- */
0x11, 	/* ---#---# */
0x44, 	/* -#---#-- */
0x11, 	/* ---#---# */
0x44, 	/* -#---#-- */
0x11, 	/* ---#---# */
0x44, 	/* -#---#-- */
0x11, 	/* ---#---# */
0x44, 	/* -#---#-- */
0x11, 	/* ---#---# */
0x44, 	/* -#---#-- */

	/* 0x0a        */
0x55, 	/* -#-#-#-# */
0xaa, 	/* #-#-#-#- */
0x55, 	/* -#-#-#-# */
0xaa, 	/* #-#-#-#- */
0x55, 	/* -#-#-#-# */
0xaa, 	/* #-#-#-#- */
0x55, 	/* -#-#-#-# */
0xaa, 	/* #-#-#-#- */
0x55, 	/* -#-#-#-# */
0xaa, 	/* #-#-#-#- */
0x55, 	/* -#-#-#-# */
0xaa, 	/* #-#-#-#- */
0x55, 	/* -#-#-#-# */
0xaa, 	/* #-#-#-#- */
0x55, 	/* -#-#-#-# */
0xaa, 	/* #-#-#-#- */

	/* 0x0b        */
0xdd, 	/* ##-###-# */
0x77, 	/* -###-### */
0xdd, 	/* ##-###-# */
0x77, 	/* -###-### */
0xdd, 	/* ##-###-# */
0x77, 	/* -###-### */
0xdd, 	/* ##-###-# */
0x77, 	/* -###-### */
0xdd, 	/* ##-###-# */
0x77, 	/* -###-### */
0xdd, 	/* ##-###-# */
0x77, 	/* -###-### */
0xdd, 	/* ##-###-# */
0x77, 	/* -###-### */
0xdd, 	/* ##-###-# */
0x77, 	/* -###-### */

	/* 0x0c        */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */

	/* 0x0d        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */

	/* 0x0e        */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0xff, 	/* ######## */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x0f        */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */
0xf0, 	/* ####---- */

	/* 0x10        */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */
0x0f, 	/* ----#### */

	/* 0x11        */
0x00, 	/* -------- */
0x88, 	/* #---#--- */
0xc8, 	/* ##--#--- */
0xa8, 	/* #-#-#--- */
0x98, 	/* #--##--- */
0x88, 	/* #---#--- */
0x00, 	/* -------- */
0x20, 	/* --#----- */
0x20, 	/* --#----- */
0x20, 	/* --#----- */
0x20, 	/* --#----- */
0x3e, 	/* --#####- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x12        */
0x00, 	/* -------- */
0x88, 	/* #---#--- */
0x88, 	/* #---#--- */
0x50, 	/* -#-#---- */
0x50, 	/* -#-#---- */
0x20, 	/* --#----- */
0x00, 	/* -------- */
0x3e, 	/* --#####- */
0x08, 	/* ----#--- */
0x08, 	/* ----#--- */
0x08, 	/* ----#--- */
0x08, 	/* ----#--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x13        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x0e, 	/* ----###- */
0x38, 	/* --###--- */
0xe0, 	/* ###----- */
0x38, 	/* --###--- */
0x0e, 	/* ----###- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x14        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xe0, 	/* ###----- */
0x38, 	/* --###--- */
0x0e, 	/* ----###- */
0x38, 	/* --###--- */
0xe0, 	/* ###----- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x15        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x06, 	/* -----##- */
0x0c, 	/* ----##-- */
0xfe, 	/* #######- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0xfe, 	/* #######- */
0x60, 	/* -##----- */
0xc0, 	/* ##------ */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x16        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x06, 	/* -----##- */
0x1e, 	/* ---####- */
0x7e, 	/* -######- */
0xfe, 	/* #######- */
0x7e, 	/* -######- */
0x1e, 	/* ---####- */
0x06, 	/* -----##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x17        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc0, 	/* ##------ */
0xf0, 	/* ####---- */
0xfc, 	/* ######-- */
0xfe, 	/* #######- */
0xfc, 	/* ######-- */
0xf0, 	/* ####---- */
0xc0, 	/* ##------ */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x18        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x7e, 	/* -######- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x19        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x7e, 	/* -######- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x1a        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x0c, 	/* ----##-- */
0xfe, 	/* #######- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x1b        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x30, 	/* --##---- */
0x60, 	/* -##----- */
0xfe, 	/* #######- */
0x60, 	/* -##----- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x1c        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x7e, 	/* -######- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x7e, 	/* -######- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x1d        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x28, 	/* --#-#--- */
0x6c, 	/* -##-##-- */
0xfe, 	/* #######- */
0x6c, 	/* -##-##-- */
0x28, 	/* --#-#--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x1e        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x06, 	/* -----##- */
0x36, 	/* --##-##- */
0x66, 	/* -##--##- */
0xfe, 	/* #######- */
0x60, 	/* -##----- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x1f        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x20  (' ') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x21  ('!') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x3c, 	/* --####-- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x22  ('"') */
0x00, 	/* -------- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x24, 	/* --#--#-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x23  ('#') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0xfe, 	/* #######- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0xfe, 	/* #######- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x24  ('$') */
0x00, 	/* -------- */
0x10, 	/* ---#---- */
0x10, 	/* ---#---- */
0x7c, 	/* -#####-- */
0xd6, 	/* ##-#-##- */
0xd0, 	/* ##-#---- */
0xd0, 	/* ##-#---- */
0x7c, 	/* -#####-- */
0x16, 	/* ---#-##- */
0x16, 	/* ---#-##- */
0xd6, 	/* ##-#-##- */
0x7c, 	/* -#####-- */
0x10, 	/* ---#---- */
0x10, 	/* ---#---- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x25  ('%') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc2, 	/* ##----#- */
0xc6, 	/* ##---##- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x60, 	/* -##----- */
0xc6, 	/* ##---##- */
0x86, 	/* #----##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x26  ('&') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */
0x76, 	/* -###-##- */
0xdc, 	/* ##-###-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0x76, 	/* -###-##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x27  (''') */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x28  ('(') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x0c, 	/* ----##-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x29  (')') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x2a  ('*') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x66, 	/* -##--##- */
0x3c, 	/* --####-- */
0xff, 	/* ######## */
0x3c, 	/* --####-- */
0x66, 	/* -##--##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x2b  ('+') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x7e, 	/* -######- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x2c  (',') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x2d  ('-') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x2e  ('.') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x2f  ('/') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x06, 	/* -----##- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x60, 	/* -##----- */
0xc0, 	/* ##------ */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x30  ('0') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xd6, 	/* ##-#-##- */
0xd6, 	/* ##-#-##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x31  ('1') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x38, 	/* --###--- */
0x78, 	/* -####--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x7e, 	/* -######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x32  ('2') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0x06, 	/* -----##- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x60, 	/* -##----- */
0xc0, 	/* ##------ */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x33  ('3') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0x3c, 	/* --####-- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x34  ('4') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x0c, 	/* ----##-- */
0x1c, 	/* ---###-- */
0x3c, 	/* --####-- */
0x6c, 	/* -##-##-- */
0xcc, 	/* ##--##-- */
0xfe, 	/* #######- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x1e, 	/* ---####- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x35  ('5') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xfc, 	/* ######-- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x36  ('6') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x60, 	/* -##----- */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xfc, 	/* ######-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x37  ('7') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0xc6, 	/* ##---##- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x38  ('8') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x39  ('9') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7e, 	/* -######- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0x0c, 	/* ----##-- */
0x78, 	/* -####--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x3a  (':') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x3b  (';') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x3c  ('<') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x06, 	/* -----##- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x60, 	/* -##----- */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x0c, 	/* ----##-- */
0x06, 	/* -----##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x3d  ('=') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x3e  ('>') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x60, 	/* -##----- */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x0c, 	/* ----##-- */
0x06, 	/* -----##- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x60, 	/* -##----- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x3f  ('?') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x40  ('@') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xde, 	/* ##-####- */
0xde, 	/* ##-####- */
0xde, 	/* ##-####- */
0xdc, 	/* ##-###-- */
0xc0, 	/* ##------ */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x41  ('A') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x10, 	/* ---#---- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x42  ('B') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfc, 	/* ######-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x7c, 	/* -#####-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0xfc, 	/* ######-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x43  ('C') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x3c, 	/* --####-- */
0x66, 	/* -##--##- */
0xc2, 	/* ##----#- */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xc2, 	/* ##----#- */
0x66, 	/* -##--##- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x44  ('D') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xf8, 	/* #####--- */
0x6c, 	/* -##-##-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x6c, 	/* -##-##-- */
0xf8, 	/* #####--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x45  ('E') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0x66, 	/* -##--##- */
0x62, 	/* -##---#- */
0x68, 	/* -##-#--- */
0x78, 	/* -####--- */
0x68, 	/* -##-#--- */
0x60, 	/* -##----- */
0x62, 	/* -##---#- */
0x66, 	/* -##--##- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x46  ('F') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0x66, 	/* -##--##- */
0x62, 	/* -##---#- */
0x68, 	/* -##-#--- */
0x78, 	/* -####--- */
0x68, 	/* -##-#--- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0xf0, 	/* ####---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x47  ('G') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x3c, 	/* --####-- */
0x66, 	/* -##--##- */
0xc2, 	/* ##----#- */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xde, 	/* ##-####- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x66, 	/* -##--##- */
0x3a, 	/* --###-#- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x48  ('H') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x49  ('I') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x4a  ('J') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x1e, 	/* ---####- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0x78, 	/* -####--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x4b  ('K') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xe6, 	/* ###--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x6c, 	/* -##-##-- */
0x78, 	/* -####--- */
0x78, 	/* -####--- */
0x6c, 	/* -##-##-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0xe6, 	/* ###--##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x4c  ('L') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xf0, 	/* ####---- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x62, 	/* -##---#- */
0x66, 	/* -##--##- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x4d  ('M') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xee, 	/* ###-###- */
0xfe, 	/* #######- */
0xfe, 	/* #######- */
0xd6, 	/* ##-#-##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x4e  ('N') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xe6, 	/* ###--##- */
0xf6, 	/* ####-##- */
0xfe, 	/* #######- */
0xde, 	/* ##-####- */
0xce, 	/* ##--###- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x4f  ('O') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x50  ('P') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfc, 	/* ######-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x7c, 	/* -#####-- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0xf0, 	/* ####---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x51  ('Q') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xd6, 	/* ##-#-##- */
0xde, 	/* ##-####- */
0x7c, 	/* -#####-- */
0x0c, 	/* ----##-- */
0x0e, 	/* ----###- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x52  ('R') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfc, 	/* ######-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x7c, 	/* -#####-- */
0x6c, 	/* -##-##-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0xe6, 	/* ###--##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x53  ('S') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x64, 	/* -##--#-- */
0x38, 	/* --###--- */
0x0c, 	/* ----##-- */
0x06, 	/* -----##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x54  ('T') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7e, 	/* -######- */
0x7e, 	/* -######- */
0x5a, 	/* -#-##-#- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x55  ('U') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x56  ('V') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */
0x10, 	/* ---#---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x57  ('W') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xd6, 	/* ##-#-##- */
0xd6, 	/* ##-#-##- */
0xd6, 	/* ##-#-##- */
0xfe, 	/* #######- */
0xee, 	/* ###-###- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x58  ('X') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x6c, 	/* -##-##-- */
0x7c, 	/* -#####-- */
0x38, 	/* --###--- */
0x38, 	/* --###--- */
0x7c, 	/* -#####-- */
0x6c, 	/* -##-##-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x59  ('Y') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x5a  ('Z') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0xc6, 	/* ##---##- */
0x86, 	/* #----##- */
0x0c, 	/* ----##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x60, 	/* -##----- */
0xc2, 	/* ##----#- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x5b  ('[') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x3c, 	/* --####-- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x5c  ('\') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc0, 	/* ##------ */
0x60, 	/* -##----- */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x0c, 	/* ----##-- */
0x06, 	/* -----##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x5d  (']') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x3c, 	/* --####-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x5e  ('^') */
0x10, 	/* ---#---- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x5f  ('_') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xff, 	/* ######## */
0x00, 	/* -------- */

	/* 0x60  ('`') */
0x00, 	/* -------- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x61  ('a') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x78, 	/* -####--- */
0x0c, 	/* ----##-- */
0x7c, 	/* -#####-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0x76, 	/* -###-##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x62  ('b') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xe0, 	/* ###----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x78, 	/* -####--- */
0x6c, 	/* -##-##-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x63  ('c') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x64  ('d') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x1c, 	/* ---###-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x3c, 	/* --####-- */
0x6c, 	/* -##-##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0x76, 	/* -###-##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x65  ('e') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0xc0, 	/* ##------ */
0xc0, 	/* ##------ */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x66  ('f') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0x64, 	/* -##--#-- */
0x60, 	/* -##----- */
0xf0, 	/* ####---- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0xf0, 	/* ####---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x67  ('g') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x76, 	/* -###-##- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0x7c, 	/* -#####-- */
0x0c, 	/* ----##-- */
0xcc, 	/* ##--##-- */
0x78, 	/* -####--- */
0x00, 	/* -------- */

	/* 0x68  ('h') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xe0, 	/* ###----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x6c, 	/* -##-##-- */
0x76, 	/* -###-##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0xe6, 	/* ###--##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x69  ('i') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x6a  ('j') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0x00, 	/* -------- */
0x0e, 	/* ----###- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0x06, 	/* -----##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */

	/* 0x6b  ('k') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xe0, 	/* ###----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x66, 	/* -##--##- */
0x6c, 	/* -##-##-- */
0x78, 	/* -####--- */
0x78, 	/* -####--- */
0x6c, 	/* -##-##-- */
0x66, 	/* -##--##- */
0xe6, 	/* ###--##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x6c  ('l') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x38, 	/* --###--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x6d  ('m') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xec, 	/* ###-##-- */
0xfe, 	/* #######- */
0xd6, 	/* ##-#-##- */
0xd6, 	/* ##-#-##- */
0xd6, 	/* ##-#-##- */
0xd6, 	/* ##-#-##- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x6e  ('n') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xdc, 	/* ##-###-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x6f  ('o') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x70  ('p') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xdc, 	/* ##-###-- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x7c, 	/* -#####-- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0xf0, 	/* ####---- */
0x00, 	/* -------- */

	/* 0x71  ('q') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x76, 	/* -###-##- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0x7c, 	/* -#####-- */
0x0c, 	/* ----##-- */
0x0c, 	/* ----##-- */
0x1e, 	/* ---####- */
0x00, 	/* -------- */

	/* 0x72  ('r') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xdc, 	/* ##-###-- */
0x76, 	/* -###-##- */
0x66, 	/* -##--##- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0x60, 	/* -##----- */
0xf0, 	/* ####---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x73  ('s') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x7c, 	/* -#####-- */
0xc6, 	/* ##---##- */
0x60, 	/* -##----- */
0x38, 	/* --###--- */
0x0c, 	/* ----##-- */
0xc6, 	/* ##---##- */
0x7c, 	/* -#####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x74  ('t') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x10, 	/* ---#---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0xfc, 	/* ######-- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x30, 	/* --##---- */
0x36, 	/* --##-##- */
0x1c, 	/* ---###-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x75  ('u') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0xcc, 	/* ##--##-- */
0x76, 	/* -###-##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x76  ('v') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x77  ('w') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xd6, 	/* ##-#-##- */
0xd6, 	/* ##-#-##- */
0xd6, 	/* ##-#-##- */
0xfe, 	/* #######- */
0x6c, 	/* -##-##-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x78  ('x') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0x6c, 	/* -##-##-- */
0x38, 	/* --###--- */
0x38, 	/* --###--- */
0x38, 	/* --###--- */
0x6c, 	/* -##-##-- */
0xc6, 	/* ##---##- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x79  ('y') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0xc6, 	/* ##---##- */
0x7e, 	/* -######- */
0x06, 	/* -----##- */
0x0c, 	/* ----##-- */
0xf8, 	/* #####--- */
0x00, 	/* -------- */

	/* 0x7a  ('z') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xfe, 	/* #######- */
0xcc, 	/* ##--##-- */
0x18, 	/* ---##--- */
0x30, 	/* --##---- */
0x60, 	/* -##----- */
0xc6, 	/* ##---##- */
0xfe, 	/* #######- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x7b  ('{') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x0e, 	/* ----###- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x70, 	/* -###---- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x0e, 	/* ----###- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x7c  ('|') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x7d  ('}') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x70, 	/* -###---- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x0e, 	/* ----###- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x70, 	/* -###---- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x7e  ('~') */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x76, 	/* -###-##- */
0xdc, 	/* ##-###-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x7f        */
0x00, 	/* -------- */
0x66, 	/* -##--##- */
0x00, 	/* -------- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x66, 	/* -##--##- */
0x3c, 	/* --####-- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x3c, 	/* --####-- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x80        */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0xff, 	/* ######## */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */
0x00, 	/* -------- */

	/* 0x81        */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x18, 	/* ---##--- */
0x00
Download .txt
gitextract_xwvssabo/

├── .gitignore
├── CODING
├── Changes
├── LICENSE
├── Makefile
├── README.md
├── THANKS
├── docs/
│   ├── devices.txt
│   ├── initrd.txt
│   ├── kernel-parameters.txt
│   ├── kexec.txt
│   ├── kmem_layout.txt
│   ├── system-console.txt
│   ├── tcc.txt
│   └── video/
│       ├── font-lat9-8x14.txt
│       ├── font-lat9-8x16.txt
│       └── font-lat9-8x8.txt
├── drivers/
│   ├── block/
│   │   ├── Makefile
│   │   ├── ata.c
│   │   ├── ata_hd.c
│   │   ├── ata_pci.c
│   │   ├── atapi.c
│   │   ├── atapi_cd.c
│   │   ├── blk_queue.c
│   │   ├── dma.c
│   │   ├── floppy.c
│   │   ├── part.c
│   │   └── ramdisk.c
│   ├── char/
│   │   ├── Makefile
│   │   ├── charq.c
│   │   ├── console.c
│   │   ├── defkeymap.c
│   │   ├── fb.c
│   │   ├── keyboard.c
│   │   ├── lp.c
│   │   ├── memdev.c
│   │   ├── ps2.c
│   │   ├── psaux.c
│   │   ├── pty.c
│   │   ├── serial.c
│   │   ├── sysrq.c
│   │   ├── tty.c
│   │   └── vt.c
│   ├── pci/
│   │   ├── Makefile
│   │   └── pci.c
│   └── video/
│       ├── Makefile
│       ├── bga.c
│       ├── fbcon.c
│       ├── font-lat9-8x14.c
│       ├── font-lat9-8x16.c
│       ├── font-lat9-8x8.c
│       ├── fonts.c
│       ├── vgacon.c
│       └── video.c
├── fiwix.ld
├── fs/
│   ├── Makefile
│   ├── buffer.c
│   ├── devices.c
│   ├── devpts/
│   │   ├── Makefile
│   │   ├── dir.c
│   │   ├── inode.c
│   │   ├── namei.c
│   │   └── super.c
│   ├── elf.c
│   ├── ext2/
│   │   ├── Makefile
│   │   ├── bitmaps.c
│   │   ├── dir.c
│   │   ├── file.c
│   │   ├── inode.c
│   │   ├── namei.c
│   │   ├── super.c
│   │   └── symlink.c
│   ├── fd.c
│   ├── filesystems.c
│   ├── inode.c
│   ├── iso9660/
│   │   ├── Makefile
│   │   ├── dir.c
│   │   ├── file.c
│   │   ├── inode.c
│   │   ├── namei.c
│   │   ├── rrip.c
│   │   ├── super.c
│   │   └── symlink.c
│   ├── locks.c
│   ├── minix/
│   │   ├── Makefile
│   │   ├── bitmaps.c
│   │   ├── dir.c
│   │   ├── file.c
│   │   ├── inode.c
│   │   ├── namei.c
│   │   ├── super.c
│   │   ├── symlink.c
│   │   ├── v1_inode.c
│   │   └── v2_inode.c
│   ├── namei.c
│   ├── pipefs/
│   │   ├── Makefile
│   │   ├── fifo.c
│   │   ├── pipe.c
│   │   └── super.c
│   ├── procfs/
│   │   ├── Makefile
│   │   ├── data.c
│   │   ├── dir.c
│   │   ├── file.c
│   │   ├── inode.c
│   │   ├── kmsg.c
│   │   ├── namei.c
│   │   ├── super.c
│   │   ├── symlink.c
│   │   └── tree.c
│   ├── script.c
│   ├── sockfs/
│   │   ├── Makefile
│   │   ├── socket.c
│   │   └── super.c
│   └── super.c
├── include/
│   └── fiwix/
│       ├── asm.h
│       ├── ata.h
│       ├── ata_hd.h
│       ├── ata_pci.h
│       ├── atapi.h
│       ├── atapi_cd.h
│       ├── bga.h
│       ├── bios.h
│       ├── blk_queue.h
│       ├── buffer.h
│       ├── charq.h
│       ├── cmos.h
│       ├── config.h
│       ├── console.h
│       ├── cpu.h
│       ├── ctype.h
│       ├── devices.h
│       ├── dirent.h
│       ├── dma.h
│       ├── errno.h
│       ├── fb.h
│       ├── fbcon.h
│       ├── fcntl.h
│       ├── fd.h
│       ├── filesystems.h
│       ├── floppy.h
│       ├── font.h
│       ├── fs.h
│       ├── fs_devpts.h
│       ├── fs_ext2.h
│       ├── fs_iso9660.h
│       ├── fs_minix.h
│       ├── fs_pipe.h
│       ├── fs_proc.h
│       ├── fs_sock.h
│       ├── i386elf.h
│       ├── ioctl.h
│       ├── ipc.h
│       ├── irq.h
│       ├── kd.h
│       ├── kernel.h
│       ├── kexec.h
│       ├── keyboard.h
│       ├── kparms.h
│       ├── limits.h
│       ├── linker.h
│       ├── linuxboot.h
│       ├── locks.h
│       ├── lp.h
│       ├── memdev.h
│       ├── mm.h
│       ├── mman.h
│       ├── msg.h
│       ├── multiboot1.h
│       ├── net/
│       │   ├── ipv4.h
│       │   ├── packet.h
│       │   └── unix.h
│       ├── net.h
│       ├── netdevice.h
│       ├── part.h
│       ├── pci.h
│       ├── pci_ids.h
│       ├── pic.h
│       ├── pit.h
│       ├── process.h
│       ├── ps2.h
│       ├── psaux.h
│       ├── pty.h
│       ├── ramdisk.h
│       ├── reboot.h
│       ├── resource.h
│       ├── sched.h
│       ├── segments.h
│       ├── sem.h
│       ├── serial.h
│       ├── shm.h
│       ├── sigcontext.h
│       ├── signal.h
│       ├── sleep.h
│       ├── socket.h
│       ├── stat.h
│       ├── statbuf.h
│       ├── statfs.h
│       ├── stdarg.h
│       ├── stddef.h
│       ├── stdio.h
│       ├── string.h
│       ├── syscalls.h
│       ├── sysconsole.h
│       ├── syslog.h
│       ├── sysrq.h
│       ├── system.h
│       ├── termbits.h
│       ├── termios.h
│       ├── time.h
│       ├── timeb.h
│       ├── timer.h
│       ├── times.h
│       ├── traps.h
│       ├── tty.h
│       ├── types.h
│       ├── unistd.h
│       ├── ustat.h
│       ├── utime.h
│       ├── utsname.h
│       ├── version.h
│       ├── vgacon.h
│       ├── video.h
│       └── vt.h
├── kernel/
│   ├── Makefile
│   ├── boot.S
│   ├── cmos.c
│   ├── core386.S
│   ├── cpu.c
│   ├── gdt.c
│   ├── idt.c
│   ├── init.c
│   ├── irq.c
│   ├── kexec.c
│   ├── main.c
│   ├── multiboot.c
│   ├── pic.c
│   ├── pit.c
│   ├── process.c
│   ├── sched.c
│   ├── signal.c
│   ├── sleep.c
│   ├── syscalls/
│   │   ├── Makefile
│   │   ├── access.c
│   │   ├── alarm.c
│   │   ├── brk.c
│   │   ├── chdir.c
│   │   ├── chmod.c
│   │   ├── chown.c
│   │   ├── chown32.c
│   │   ├── chroot.c
│   │   ├── close.c
│   │   ├── creat.c
│   │   ├── dup.c
│   │   ├── dup2.c
│   │   ├── execve.c
│   │   ├── exit.c
│   │   ├── fchdir.c
│   │   ├── fchmod.c
│   │   ├── fchown.c
│   │   ├── fcntl.c
│   │   ├── fcntl64.c
│   │   ├── fdatasync.c
│   │   ├── flock.c
│   │   ├── fork.c
│   │   ├── fstat.c
│   │   ├── fstat64.c
│   │   ├── fstatfs.c
│   │   ├── fsync.c
│   │   ├── ftime.c
│   │   ├── ftruncate.c
│   │   ├── ftruncate64.c
│   │   ├── getcwd.c
│   │   ├── getdents.c
│   │   ├── getdents64.c
│   │   ├── getegid.c
│   │   ├── geteuid.c
│   │   ├── getgid.c
│   │   ├── getgroups.c
│   │   ├── getitimer.c
│   │   ├── getpgid.c
│   │   ├── getpgrp.c
│   │   ├── getpid.c
│   │   ├── getppid.c
│   │   ├── getrlimit.c
│   │   ├── getrusage.c
│   │   ├── getsid.c
│   │   ├── gettimeofday.c
│   │   ├── getuid.c
│   │   ├── ioctl.c
│   │   ├── ioperm.c
│   │   ├── iopl.c
│   │   ├── ipc.c
│   │   ├── kill.c
│   │   ├── lchown.c
│   │   ├── link.c
│   │   ├── llseek.c
│   │   ├── lseek.c
│   │   ├── lstat.c
│   │   ├── lstat64.c
│   │   ├── mkdir.c
│   │   ├── mknod.c
│   │   ├── mmap2.c
│   │   ├── mount.c
│   │   ├── mprotect.c
│   │   ├── msgctl.c
│   │   ├── msgget.c
│   │   ├── msgrcv.c
│   │   ├── msgsnd.c
│   │   ├── munmap.c
│   │   ├── nanosleep.c
│   │   ├── newfstat.c
│   │   ├── newlstat.c
│   │   ├── newstat.c
│   │   ├── newuname.c
│   │   ├── old_mmap.c
│   │   ├── old_select.c
│   │   ├── olduname.c
│   │   ├── open.c
│   │   ├── pause.c
│   │   ├── personality.c
│   │   ├── pipe.c
│   │   ├── read.c
│   │   ├── readlink.c
│   │   ├── readv.c
│   │   ├── reboot.c
│   │   ├── rename.c
│   │   ├── rmdir.c
│   │   ├── select.c
│   │   ├── semctl.c
│   │   ├── semget.c
│   │   ├── semop.c
│   │   ├── setdomainname.c
│   │   ├── setfsgid.c
│   │   ├── setfsuid.c
│   │   ├── setgid.c
│   │   ├── setgroups.c
│   │   ├── sethostname.c
│   │   ├── setitimer.c
│   │   ├── setpgid.c
│   │   ├── setregid.c
│   │   ├── setreuid.c
│   │   ├── setrlimit.c
│   │   ├── setsid.c
│   │   ├── settimeofday.c
│   │   ├── setuid.c
│   │   ├── sgetmask.c
│   │   ├── shmat.c
│   │   ├── shmctl.c
│   │   ├── shmdt.c
│   │   ├── shmget.c
│   │   ├── sigaction.c
│   │   ├── signal.c
│   │   ├── sigpending.c
│   │   ├── sigprocmask.c
│   │   ├── sigreturn.c
│   │   ├── sigsuspend.c
│   │   ├── socketcall.c
│   │   ├── ssetmask.c
│   │   ├── stat.c
│   │   ├── stat64.c
│   │   ├── statfs.c
│   │   ├── stime.c
│   │   ├── symlink.c
│   │   ├── sync.c
│   │   ├── sysinfo.c
│   │   ├── syslog.c
│   │   ├── time.c
│   │   ├── times.c
│   │   ├── truncate.c
│   │   ├── truncate64.c
│   │   ├── umask.c
│   │   ├── umount.c
│   │   ├── umount2.c
│   │   ├── uname.c
│   │   ├── unlink.c
│   │   ├── ustat.c
│   │   ├── utime.c
│   │   ├── utimes.c
│   │   ├── wait4.c
│   │   ├── waitpid.c
│   │   ├── write.c
│   │   └── writev.c
│   ├── syscalls.c
│   ├── timer.c
│   └── traps.c
├── lib/
│   ├── Makefile
│   ├── ctype.c
│   ├── printk.c
│   ├── string.c
│   └── sysconsole.c
├── mm/
│   ├── Makefile
│   ├── alloc.c
│   ├── bios_map.c
│   ├── buddy_low.c
│   ├── fault.c
│   ├── memory.c
│   ├── mmap.c
│   ├── page.c
│   └── swapper.c
├── net/
│   ├── Makefile
│   ├── core.c
│   ├── domains.c
│   ├── ipv4.c
│   ├── packet.c
│   ├── socket.c
│   └── unix.c
└── shell.nix
Download .txt
SYMBOL INDEX (2489 symbols across 341 files)

FILE: drivers/block/ata.c
  type fs_operations (line 27) | struct fs_operations
  type ide (line 70) | struct ide
  type ide (line 72) | struct ide
  type device (line 87) | struct device
  type interrupt (line 112) | struct interrupt
  function ata_identify_device (line 118) | static void ata_identify_device(struct ide *ide, struct ata_drv *drive)
  function identify_drive (line 145) | static int identify_drive(struct ide *ide, struct ata_drv *drive)
  function get_device_size (line 219) | static void get_device_size(struct ata_drv *drive)
  function get_piomode (line 247) | static int get_piomode(struct ata_drv *drive)
  function get_udma (line 265) | static int get_udma(struct ata_drv *drive)
  function get_ata (line 287) | static int get_ata(struct ata_drv *drive)
  function show_capabilities (line 306) | static void show_capabilities(struct ide *ide, struct ata_drv *drive)
  function ata_softreset (line 435) | static int ata_softreset(struct ide *ide)
  function sector2chs (line 513) | static void sector2chs(__off_t offset, int *cyl, int *head, int *sector,...
  function irq_ide0 (line 523) | void irq_ide0(int num, struct sigcontext *sc)
  function irq_ide1 (line 536) | void irq_ide1(int num, struct sigcontext *sc)
  function ide0_timer (line 549) | void ide0_timer(unsigned int arg)
  function ide1_timer (line 559) | void ide1_timer(unsigned int arg)
  function ata_error (line 569) | void ata_error(struct ide *ide, int status)
  function ata_delay (line 613) | void ata_delay(void)
  function ata_wait400ns (line 622) | void ata_wait400ns(struct ide *ide)
  function ata_wait_nobusy (line 632) | int ata_wait_nobusy(struct ide *ide)
  function ata_wait_state (line 649) | int ata_wait_state(struct ide *ide, unsigned char state)
  function ata_io (line 672) | int ata_io(struct ide *ide, struct ata_drv *drive, __off_t offset, int n...
  function ata_set_timeout (line 701) | void ata_set_timeout(struct ide *ide, int timeout, int reason)
  function ata_end_request (line 709) | void ata_end_request(struct ide *ide)
  function ata_select_drv (line 752) | int ata_select_drv(struct ide *ide, int drive, int mode, unsigned char l...
  type ide (line 782) | struct ide
  function ide_table_init (line 799) | void ide_table_init(struct ide *ide, int channel)
  function ata_channel_init (line 804) | int ata_channel_init(struct ide *ide)
  function ata_open (line 862) | int ata_open(struct inode *i, struct fd *f)
  function ata_close (line 879) | int ata_close(struct inode *i, struct fd *f)
  function ata_read (line 896) | int ata_read(__dev_t dev, __blk_t block, char *buffer, int blksize)
  function ata_write (line 914) | int ata_write(__dev_t dev, __blk_t block, char *buffer, int blksize)
  function ata_ioctl (line 932) | int ata_ioctl(struct inode *i, struct fd *f, int cmd, unsigned int arg)
  function __loff_t (line 949) | __loff_t ata_llseek(struct inode *i, __loff_t offset)
  function ata_init (line 966) | void ata_init(void)

FILE: drivers/block/ata_hd.c
  type fs_operations (line 26) | struct fs_operations
  function assign_minors (line 69) | static void assign_minors(__dev_t rdev, struct ata_drv *drive, struct pa...
  function __off_t (line 97) | static __off_t block2sector(__blk_t block, int blksize, struct partition...
  function setup_transfer (line 108) | static int setup_transfer(int mode, __dev_t dev, __blk_t block, char *bu...
  function pio_read (line 163) | static int pio_read(struct ide *ide, struct ata_drv *drive, struct xfer_...
  function pio_read_end (line 175) | static int pio_read_end(struct ide *ide, struct xfer_data *xd)
  function pio_write (line 210) | static int pio_write(struct ide *ide, struct ata_drv *drive, struct xfer...
  function pio_write_end (line 234) | static int pio_write_end(struct ide *ide, struct xfer_data *xd)
  function dma_transfer (line 260) | static int dma_transfer(struct ide *ide, struct ata_drv *drive, struct x...
  function dma_transfer_end (line 275) | static int dma_transfer_end(struct ide *ide, struct xfer_data *xd)
  function ata_hd_open (line 312) | int ata_hd_open(struct inode *i, struct fd *f)
  function ata_hd_close (line 317) | int ata_hd_close(struct inode *i, struct fd *f)
  function ata_hd_read (line 323) | int ata_hd_read(__dev_t dev, __blk_t block, char *buffer, int blksize)
  function ata_hd_write (line 328) | int ata_hd_write(__dev_t dev, __blk_t block, char *buffer, int blksize)
  function ata_hd_ioctl (line 333) | int ata_hd_ioctl(struct inode *i, struct fd *f, int cmd, unsigned int arg)
  function __loff_t (line 409) | __loff_t ata_hd_llseek(struct inode *i, __loff_t offset)
  function ata_hd_init (line 414) | int ata_hd_init(struct ide *ide, struct ata_drv *drive)

FILE: drivers/block/ata_pci.c
  function setup_ata_device (line 17) | static int setup_ata_device(struct ide *ide, struct pci_device *pci_dev)
  function ata_setup_dma (line 76) | void ata_setup_dma(struct ide *ide, struct ata_drv *drive, char *buffer,...
  function ata_start_dma (line 93) | void ata_start_dma(struct ide *ide, struct ata_drv *drive)
  function ata_stop_dma (line 101) | void ata_stop_dma(struct ide *ide, struct ata_drv *drive)
  function ata_pci (line 111) | int ata_pci(struct ide *ide)

FILE: drivers/block/atapi.c
  function send_packet_command (line 17) | int send_packet_command(unsigned char *pkt, struct ide *ide, struct ata_...
  function atapi_cmd_testunit (line 56) | int atapi_cmd_testunit(struct ide *ide, struct ata_drv *drive)
  function atapi_cmd_reqsense (line 65) | int atapi_cmd_reqsense(struct ide *ide, struct ata_drv *drive)
  function atapi_cmd_startstop (line 75) | int atapi_cmd_startstop(int action, struct ide *ide, struct ata_drv *drive)
  function atapi_cmd_mediumrm (line 85) | int atapi_cmd_mediumrm(int action, struct ide *ide, struct ata_drv *drive)
  function atapi_cmd_get_capacity (line 95) | int atapi_cmd_get_capacity(struct ide *ide, struct ata_drv *drive)
  function atapi_cmd_read10 (line 104) | int atapi_cmd_read10(struct ide *ide, struct ata_drv *drive)

FILE: drivers/block/atapi_cd.c
  type fs_operations (line 19) | struct fs_operations
  function setup_transfer (line 62) | static int setup_transfer(int mode, __dev_t dev, __blk_t block, char *bu...
  function atapi_pio_read (line 89) | static int atapi_pio_read(struct ide *ide, struct ata_drv *drive, struct...
  function atapi_pio_read_end (line 103) | static int atapi_pio_read_end(struct ide *ide, struct xfer_data *xd)
  function request_sense (line 176) | static int request_sense(char *buffer, __dev_t dev, struct ide *ide, str...
  function get_capacity (line 197) | static void get_capacity(struct inode *i, struct ide *ide, struct ata_dr...
  function atapi_cd_open (line 213) | int atapi_cd_open(struct inode *i, struct fd *f)
  function atapi_cd_close (line 281) | int atapi_cd_close(struct inode *i, struct fd *f)
  function atapi_cd_read (line 308) | int atapi_cd_read(__dev_t dev, __blk_t block, char *buffer, int blksize)
  function atapi_cd_ioctl (line 313) | int atapi_cd_ioctl(struct inode *i, struct fd *f, int cmd, unsigned int ...
  function __loff_t (line 345) | __loff_t atapi_cd_llseek(struct inode *i, __loff_t offset)
  function atapi_cd_init (line 350) | int atapi_cd_init(struct ide *ide, struct ata_drv *drive)

FILE: drivers/block/blk_queue.c
  function add_blk_request (line 21) | void add_blk_request(struct blk_request *br)
  function do_blk_request (line 40) | int do_blk_request(struct device *d, void *fn, struct buffer *buf)
  function run_blk_request (line 70) | void run_blk_request(struct device *d)

FILE: drivers/block/dma.c
  function start_dma (line 44) | void start_dma(int channel, void *address, unsigned int count, int mode)
  function dma_register (line 73) | int dma_register(int channel, char *dev_name)
  function dma_unregister (line 82) | int dma_unregister(int channel)
  function dma_init (line 92) | void dma_init(void)

FILE: drivers/block/floppy.c
  type resource (line 39) | struct resource
  type fddt (line 41) | struct fddt
  type fdd_status (line 62) | struct fdd_status {
  type fdd_status (line 69) | struct fdd_status
  type fddt (line 75) | struct fddt
  type fs_operations (line 77) | struct fs_operations
  type device (line 120) | struct device
  type interrupt (line 132) | struct interrupt
  function fdc_in (line 134) | static int fdc_in(void)
  function fdc_out (line 157) | static void fdc_out(unsigned char value)
  function fdc_get_results (line 178) | static void fdc_get_results(void)
  function fdc_motor_on (line 189) | static int fdc_motor_on(void)
  function do_motor_off (line 219) | static void do_motor_off(unsigned int fdd)
  function fdc_motor_off (line 226) | static void fdc_motor_off(void)
  function fdc_reset (line 235) | static void fdc_reset(void)
  function fdc_recalibrate (line 281) | static int fdc_recalibrate(void)
  function fdc_seek (line 328) | static int fdc_seek(int track, int head)
  function fdc_get_chip (line 384) | static int fdc_get_chip(void)
  function fdc_block2chs (line 444) | static int fdc_block2chs(__blk_t block, int blksize, int *cyl, int *head...
  function set_current_fdd_type (line 459) | static void set_current_fdd_type(int minor)
  function setup_transfer (line 471) | static int setup_transfer(int mode, __dev_t dev, __blk_t block, char *bu...
  function irq_floppy (line 603) | void irq_floppy(int num, struct sigcontext *sc)
  function fdc_timer (line 614) | void fdc_timer(unsigned int reason)
  function fdc_open (line 628) | int fdc_open(struct inode *i, struct fd *f)
  function fdc_close (line 644) | int fdc_close(struct inode *i, struct fd *f)
  function fdc_read (line 661) | int fdc_read(__dev_t dev, __blk_t block, char *buffer, int blksize)
  function fdc_write (line 666) | int fdc_write(__dev_t dev, __blk_t block, char *buffer, int blksize)
  function fdc_ioctl (line 671) | int fdc_ioctl(struct inode *i, struct fd *f, int cmd, unsigned int arg)
  function __loff_t (line 732) | __loff_t fdc_llseek(struct inode *i, __loff_t offset)
  function floppy_init (line 748) | void floppy_init(void)

FILE: drivers/block/part.c
  function read_msdos_partition (line 17) | int read_msdos_partition(__dev_t dev, struct partition *part)

FILE: drivers/block/ramdisk.c
  type ramdisk (line 21) | struct ramdisk
  type fs_operations (line 23) | struct fs_operations
  type device (line 66) | struct device
  type ramdisk (line 78) | struct ramdisk
  function ramdisk_open (line 86) | int ramdisk_open(struct inode *i, struct fd *f)
  function ramdisk_close (line 94) | int ramdisk_close(struct inode *i, struct fd *f)
  function ramdisk_read (line 103) | int ramdisk_read(__dev_t dev, __blk_t block, char *buffer, int blksize)
  function ramdisk_write (line 128) | int ramdisk_write(__dev_t dev, __blk_t block, char *buffer, int blksize)
  function ramdisk_ioctl (line 153) | int ramdisk_ioctl(struct inode *i, struct fd *f, int cmd, unsigned int arg)
  function __loff_t (line 193) | __loff_t ramdisk_llseek(struct inode *i, __loff_t offset)
  function ramdisk_init (line 198) | void ramdisk_init(void)

FILE: drivers/char/charq.c
  type cblock (line 28) | struct cblock
  type cblock (line 29) | struct cblock
  type cblock (line 31) | struct cblock
  type cblock (line 33) | struct cblock
  function put_free_cblock (line 43) | static void put_free_cblock(struct cblock *old)
  type cblock (line 79) | struct cblock
  type clist (line 79) | struct clist
  type cblock (line 81) | struct cblock
  function delete_cblock_from_head (line 107) | static void delete_cblock_from_head(struct clist *q)
  function delete_cblock_from_tail (line 128) | static void delete_cblock_from_tail(struct clist *q)
  function charq_putchar (line 149) | int charq_putchar(struct clist *q, unsigned char ch)
  function charq_unputchar (line 182) | int charq_unputchar(struct clist *q)
  function charq_getchar (line 207) | unsigned char charq_getchar(struct clist *q)
  function charq_flush (line 232) | void charq_flush(struct clist *q)
  function charq_room (line 245) | int charq_room(struct clist *q)
  function charq_init (line 250) | void charq_init(void)

FILE: drivers/char/console.c
  type video_parms (line 52) | struct video_parms
  type vconsole (line 53) | struct vconsole
  type fs_operations (line 55) | struct fs_operations
  type device (line 98) | struct device
  type device (line 110) | struct device
  function is_vconsole (line 133) | static int is_vconsole(__dev_t dev)
  function adjust (line 142) | static void adjust(struct vconsole *vc, int x, int y)
  function cr (line 160) | static void cr(struct vconsole *vc)
  function lf (line 165) | static void lf(struct vconsole *vc)
  function ri (line 174) | static void ri(struct vconsole *vc)
  function csi_J (line 179) | static void csi_J(struct vconsole *vc, int mode)
  function csi_K (line 208) | static void csi_K(struct vconsole *vc, int mode)
  function csi_X (line 231) | static void csi_X(struct vconsole *vc, int count)
  function csi_L (line 240) | static void csi_L(struct vconsole *vc, int count)
  function csi_M (line 250) | static void csi_M(struct vconsole *vc, int count)
  function csi_P (line 260) | static void csi_P(struct vconsole *vc, int count)
  function csi_at (line 270) | static void csi_at(struct vconsole *vc, int count)
  function default_color_attr (line 280) | static void default_color_attr(struct vconsole *vc)
  function csi_m (line 290) | static void csi_m(struct vconsole *vc)
  function init_vt (line 367) | static void init_vt(struct vconsole *vc)
  function insert_seq (line 379) | static void insert_seq(struct tty *tty, char *buf, int count)
  function vcbuf_scroll_up (line 387) | static void vcbuf_scroll_up(void)
  function vcbuf_refresh (line 392) | static void vcbuf_refresh(struct vconsole *vc)
  function echo_char (line 401) | static void echo_char(struct vconsole *vc, unsigned char *buf, unsigned ...
  function vconsole_reset (line 482) | void vconsole_reset(struct tty *tty)
  function vconsole_write (line 521) | void vconsole_write(struct tty *tty)
  function vconsole_select (line 841) | void vconsole_select(int new_cons)
  function vconsole_select_final (line 863) | void vconsole_select_final(int new_cons)
  function unblank_screen (line 893) | void unblank_screen(struct vconsole *vc)
  function vconsole_start (line 903) | void vconsole_start(struct tty *tty)
  function vconsole_stop (line 916) | void vconsole_stop(struct tty *tty)
  function vconsole_beep (line 929) | void vconsole_beep(void)
  function vconsole_deltab (line 939) | void vconsole_deltab(struct tty *tty)
  function console_init (line 975) | void console_init(void)

FILE: drivers/char/fb.c
  type fs_operations (line 27) | struct fs_operations
  type device (line 70) | struct device
  function fb_open (line 82) | int fb_open(struct inode *i, struct fd *f)
  function fb_close (line 87) | int fb_close(struct inode *i, struct fd *f)
  function fb_read (line 92) | int fb_read(struct inode *i, struct fd *f, char *buffer, __size_t count)
  function fb_write (line 107) | int fb_write(struct inode *i, struct fd *f, const char *buffer, __size_t...
  function fb_mmap (line 122) | int fb_mmap(struct inode *i, struct vma *vma)
  function fb_ioctl (line 135) | int fb_ioctl(struct inode *i, struct fd *f, int cmd, unsigned int arg)
  function __loff_t (line 147) | __loff_t fb_llseek(struct inode *i, __loff_t offset)
  function fb_init (line 152) | void fb_init(void)

FILE: drivers/char/keyboard.c
  type bh (line 79) | struct bh
  type interrupt (line 80) | struct interrupt
  type diacritic (line 82) | struct diacritic
  type diacritic (line 84) | struct diacritic
  type diacritic (line 96) | struct diacritic
  type diacritic (line 108) | struct diacritic
  type diacritic (line 120) | struct diacritic
  type diacritic (line 128) | struct diacritic
  function keyboard_identify (line 186) | static void keyboard_identify(void)
  function putc (line 240) | static void putc(struct tty *tty, unsigned char ch)
  function puts (line 251) | static void puts(struct tty *tty, char *seq)
  function set_leds (line 262) | void set_leds(unsigned char led_status)
  function irq_keyboard (line 271) | void irq_keyboard(int num, struct sigcontext *sc)
  function irq_keyboard_bh (line 569) | void irq_keyboard_bh(struct sigcontext *sc)
  function keyboard_init (line 631) | void keyboard_init(void)

FILE: drivers/char/lp.c
  type lp (line 16) | struct lp
  type fs_operations (line 18) | struct fs_operations
  type device (line 61) | struct device
  type lp (line 73) | struct lp
  function lp_delay (line 77) | static void lp_delay(void)
  function lp_ready (line 86) | static int lp_ready(int minor)
  function lp_probe (line 102) | static int lp_probe(int minor)
  function lp_write_data (line 120) | static int lp_write_data(int minor, unsigned char c)
  function lp_open (line 138) | int lp_open(struct inode *i, struct fd *f)
  function lp_close (line 156) | int lp_close(struct inode *i, struct fd *f)
  function lp_write (line 168) | int lp_write(struct inode *i, struct fd *f, const char *buffer, __size_t...
  function lp_init (line 191) | void lp_init(void)

FILE: drivers/char/memdev.c
  type fs_operations (line 20) | struct fs_operations
  type fs_operations (line 63) | struct fs_operations
  type fs_operations (line 106) | struct fs_operations
  type fs_operations (line 149) | struct fs_operations
  type fs_operations (line 192) | struct fs_operations
  type fs_operations (line 235) | struct fs_operations
  type fs_operations (line 278) | struct fs_operations
  type fs_operations (line 321) | struct fs_operations
  type device (line 364) | struct device
  function mem_open (line 376) | int mem_open(struct inode *i, struct fd *f)
  function mem_close (line 381) | int mem_close(struct inode *i, struct fd *f)
  function mem_read (line 386) | int mem_read(struct inode *i, struct fd *f, char *buffer, __size_t count)
  function mem_write (line 400) | int mem_write(struct inode *i, struct fd *f, const char *buffer, __size_...
  function __loff_t (line 414) | __loff_t mem_llseek(struct inode *i, __loff_t offset)
  function kmem_open (line 419) | int kmem_open(struct inode *i, struct fd *f)
  function kmem_close (line 424) | int kmem_close(struct inode *i, struct fd *f)
  function kmem_read (line 429) | int kmem_read(struct inode *i, struct fd *f, char *buffer, __size_t count)
  function kmem_write (line 443) | int kmem_write(struct inode *i, struct fd *f, const char *buffer, __size...
  function __loff_t (line 457) | __loff_t kmem_llseek(struct inode *i, __loff_t offset)
  function null_open (line 462) | int null_open(struct inode *i, struct fd *f)
  function null_close (line 467) | int null_close(struct inode *i, struct fd *f)
  function null_read (line 472) | int null_read(struct inode *i, struct fd *f, char *buffer, __size_t count)
  function null_write (line 477) | int null_write(struct inode *i, struct fd *f, const char *buffer, __size...
  function __loff_t (line 482) | __loff_t null_llseek(struct inode *i, __loff_t offset)
  function port_open (line 487) | int port_open(struct inode *i, struct fd *f)
  function port_close (line 492) | int port_close(struct inode *i, struct fd *f)
  function port_read (line 497) | int port_read(struct inode *i, struct fd *f, char *buffer, __size_t count)
  function port_write (line 512) | int port_write(struct inode *i, struct fd *f, const char *buffer, __size...
  function __loff_t (line 527) | __loff_t port_llseek(struct inode *i, __loff_t offset)
  function zero_open (line 532) | int zero_open(struct inode *i, struct fd *f)
  function zero_close (line 537) | int zero_close(struct inode *i, struct fd *f)
  function zero_read (line 542) | int zero_read(struct inode *i, struct fd *f, char *buffer, __size_t count)
  function zero_write (line 548) | int zero_write(struct inode *i, struct fd *f, const char *buffer, __size...
  function __loff_t (line 553) | __loff_t zero_llseek(struct inode *i, __loff_t offset)
  function full_open (line 559) | int full_open(struct inode *i, struct fd *f)
  function full_close (line 564) | int full_close(struct inode *i, struct fd *f)
  function full_read (line 569) | int full_read(struct inode *i, struct fd *f, char *buffer, __size_t count)
  function full_write (line 575) | int full_write(struct inode *i, struct fd *f, const char *buffer, __size...
  function __loff_t (line 580) | __loff_t full_llseek(struct inode *i, __loff_t offset)
  function urandom_open (line 585) | int urandom_open(struct inode *i, struct fd *f)
  function urandom_close (line 590) | int urandom_close(struct inode *i, struct fd *f)
  function urandom_read (line 595) | int urandom_read(struct inode *i, struct fd *f, char *buffer, __size_t c...
  function urandom_write (line 607) | int urandom_write(struct inode *i, struct fd *f, const char *buffer, __s...
  function __loff_t (line 612) | __loff_t urandom_llseek(struct inode *i, __loff_t offset)
  function memdev_open (line 617) | int memdev_open(struct inode *i, struct fd *f)
  function mem_mmap (line 657) | int mem_mmap(struct inode *i, struct vma *vma)
  function memdev_init (line 680) | void memdev_init(void)

FILE: drivers/char/ps2.c
  function is_ready_to_read (line 34) | static int is_ready_to_read(void)
  function is_ready_to_write (line 51) | static int is_ready_to_write(void)
  function ps2_delay (line 63) | static void ps2_delay(void)
  function ps2_wait_ack (line 72) | int ps2_wait_ack(void)
  function ps2_write (line 87) | void ps2_write(const unsigned char port, const unsigned char byte)
  function ps2_read (line 96) | unsigned char ps2_read(const unsigned char port)
  function ps2_clear_buffer (line 104) | void ps2_clear_buffer(void)
  function reboot (line 118) | void reboot(void)
  function ps2_init (line 126) | void ps2_init(void)

FILE: drivers/char/psaux.c
  type fs_operations (line 24) | struct fs_operations
  type device (line 67) | struct device
  type psaux (line 79) | struct psaux
  type interrupt (line 81) | struct interrupt
  function psaux_command_write (line 88) | static int psaux_command_write(const unsigned char byte)
  function psaux_identify (line 99) | static void psaux_identify(void)
  function irq_psaux (line 125) | void irq_psaux(int num, struct sigcontext *sc)
  function psaux_open (line 143) | int psaux_open(struct inode *i, struct fd *f)
  function psaux_close (line 159) | int psaux_close(struct inode *i, struct fd *f)
  function psaux_read (line 171) | int psaux_read(struct inode *i, struct fd *f, char *buffer, __size_t count)
  function psaux_write (line 204) | int psaux_write(struct inode *i, struct fd *f, const char *buffer, __siz...
  function psaux_select (line 225) | int psaux_select(struct inode *i, struct fd *f, int flag)
  function psaux_init (line 244) | void psaux_init(void)

FILE: drivers/char/pty.c
  type devpts_files (line 22) | struct devpts_files
  type fs_operations (line 24) | struct fs_operations
  type fs_operations (line 67) | struct fs_operations
  type device (line 110) | struct device
  type device (line 122) | struct device
  function pty_wakeup_read (line 134) | void pty_wakeup_read(struct tty *tty)
  function pty_open (line 140) | int pty_open(struct tty *tty)
  function pty_close (line 180) | int pty_close(struct tty *tty)
  function pty_read (line 214) | int pty_read(struct inode *i, struct fd *f, char *buffer, __size_t count)
  function pty_write (line 246) | int pty_write(struct inode *i, struct fd *f, const char *buffer, __size_...
  function pty_ioctl (line 268) | int pty_ioctl(struct tty *tty, struct fd *f, int cmd, unsigned int arg)
  function pty_select (line 293) | int pty_select(struct inode *i, struct fd *f, int flag)
  function pty_init (line 317) | void pty_init(void)

FILE: drivers/char/serial.c
  type fs_operations (line 24) | struct fs_operations
  type serial (line 68) | struct serial
  type device (line 70) | struct device
  type serial (line 120) | struct serial
  type bh (line 121) | struct bh
  type interrupt (line 124) | struct interrupt
  type interrupt (line 125) | struct interrupt
  type interrupt (line 126) | struct interrupt
  function is_serial (line 128) | static int is_serial(__dev_t dev)
  type serial (line 138) | struct serial
  function serial_identify (line 152) | static int serial_identify(struct serial *s)
  function serial_default (line 194) | static void serial_default(struct serial *s)
  function serial_setup (line 203) | static void serial_setup(struct serial *s)
  function serial_stop (line 217) | static void serial_stop(struct tty *tty)
  function serial_start (line 229) | static void serial_start(struct tty *tty)
  function serial_errors (line 240) | static void serial_errors(struct serial *s, int status)
  function serial_send (line 269) | static void serial_send(struct tty *tty)
  function serial_receive (line 295) | static int serial_receive(struct serial *s)
  function irq_serial (line 318) | void irq_serial(int num, struct sigcontext *sc)
  function serial_open (line 344) | int serial_open(struct tty *tty)
  function serial_close (line 374) | int serial_close(struct tty *tty)
  function serial_set_termios (line 402) | void serial_set_termios(struct tty *tty)
  function serial_write (line 460) | void serial_write(struct tty *tty)
  function irq_serial_bh (line 471) | void irq_serial_bh(struct sigcontext *sc)
  function register_serial (line 492) | static int register_serial(struct serial *s, int minor)
  function setup_serial_device (line 543) | static int setup_serial_device(int minor, struct pci_device *pci_dev)
  function serial_pci (line 573) | static int serial_pci(int minor)
  function serial_isa (line 592) | static int serial_isa(void)
  function serial_init (line 626) | void serial_init(void)

FILE: drivers/char/sysrq.c
  function memory (line 26) | static void memory(void)
  function proc_list (line 40) | static void proc_list(void)
  function sysrq (line 69) | void sysrq(int op)

FILE: drivers/char/tty.c
  type tty (line 34) | struct tty
  function wait_vtime_off (line 37) | static void wait_vtime_off(unsigned int arg)
  function termios2termio (line 44) | static void termios2termio(struct termios *termios, struct termio *termio)
  function termio2termios (line 58) | static void termio2termios(struct termio *termio, struct termios *termios)
  function opost (line 72) | static int opost(struct tty *tty, unsigned char ch)
  function out_char (line 118) | static void out_char(struct tty *tty, unsigned char ch)
  function erase_char (line 131) | static void erase_char(struct tty *tty, unsigned char erasechar)
  function set_termios (line 176) | static void set_termios(struct tty *tty, struct termios *new_termios)
  function set_termio (line 184) | static void set_termio(struct tty *tty, struct termio *new_termio)
  function tty_reset (line 192) | void tty_reset(struct tty *tty)
  type tty (line 202) | struct tty
  type tty (line 205) | struct tty
  type tty (line 208) | struct tty
  type tty (line 208) | struct tty
  type tty (line 233) | struct tty
  function unregister_tty (line 246) | void unregister_tty(struct tty *tty)
  type tty (line 265) | struct tty
  type tty (line 267) | struct tty
  function disassociate_ctty (line 299) | void disassociate_ctty(struct tty *tty)
  function termios_reset (line 321) | void termios_reset(struct tty *tty)
  function tty_deltab (line 348) | void tty_deltab(struct tty *tty)
  function do_cook (line 382) | void do_cook(struct tty *tty)
  function tty_open (line 525) | int tty_open(struct inode *i, struct fd *f)
  function tty_close (line 597) | int tty_close(struct inode *i, struct fd *f)
  function tty_read (line 625) | int tty_read(struct inode *i, struct fd *f, char *buffer, __size_t count)
  function tty_write (line 774) | int tty_write(struct inode *i, struct fd *f, const char *buffer, __size_...
  function tty_ioctl (line 836) | int tty_ioctl(struct inode *i, struct fd *f, int cmd, unsigned int arg)
  function __loff_t (line 1136) | __loff_t tty_llseek(struct inode *i, __loff_t offset)
  function tty_select (line 1141) | int tty_select(struct inode *i, struct fd *f, int flag)
  function tty_init (line 1167) | void tty_init(void)

FILE: drivers/char/vt.c
  function vt_ioctl (line 20) | int vt_ioctl(struct tty *tty, int cmd, unsigned int arg)

FILE: drivers/pci/pci.c
  type pci_device (line 16) | struct pci_device
  function get_addr (line 49) | static unsigned int get_addr(int bus, int dev, int func, int offset)
  function is_mechanism_1_supported (line 62) | static int is_mechanism_1_supported(void)
  function add_pci_device (line 78) | static void add_pci_device(struct pci_device *pci_dev)
  function scan_bus (line 96) | static void scan_bus(void)
  function pci_read_char (line 218) | unsigned char pci_read_char(struct pci_device *pci_dev, int offset)
  function pci_read_short (line 227) | unsigned short int pci_read_short(struct pci_device *pci_dev, int offset)
  function pci_read_long (line 236) | unsigned int pci_read_long(struct pci_device *pci_dev, int offset)
  function pci_write_char (line 245) | void pci_write_char(struct pci_device *pci_dev, int offset, unsigned cha...
  function pci_write_short (line 251) | void pci_write_short(struct pci_device *pci_dev, int offset, unsigned sh...
  function pci_write_long (line 257) | void pci_write_long(struct pci_device *pci_dev, int offset, unsigned int...
  function pci_show_desc (line 263) | void pci_show_desc(struct pci_device *pci_dev)
  function pci_init (line 278) | void pci_init(void)

FILE: drivers/video/bga.c
  function bga_write_register (line 21) | static void bga_write_register(int index, int data)
  function bga_read_register (line 27) | static unsigned short int bga_read_register(unsigned short int cmd)
  function setup_bga_device (line 33) | static int setup_bga_device(struct pci_device *pci_dev)
  function bga_init (line 90) | void bga_init(void)

FILE: drivers/video/fbcon.c
  function get_fg_color (line 47) | static int get_fg_color(unsigned char color)
  function get_bg_color (line 56) | static int get_bg_color(unsigned char color)
  function set_color (line 64) | static void set_color(void *addr, int color)
  function draw_glyph (line 101) | static void draw_glyph(unsigned char *addr, int x, int y, unsigned char ...
  function remove_cursor (line 140) | static void remove_cursor(struct vconsole *vc)
  function draw_cursor (line 159) | static void draw_cursor(struct vconsole *vc)
  function fbcon_put_char (line 167) | void fbcon_put_char(struct vconsole *vc, unsigned char ch)
  function fbcon_insert_char (line 185) | void fbcon_insert_char(struct vconsole *vc)
  function fbcon_delete_char (line 216) | void fbcon_delete_char(struct vconsole *vc)
  function fbcon_update_curpos (line 245) | void fbcon_update_curpos(struct vconsole *vc)
  function fbcon_show_cursor (line 263) | void fbcon_show_cursor(struct vconsole *vc, int mode)
  function fbcon_get_curpos (line 282) | void fbcon_get_curpos(struct vconsole *vc)
  function fbcon_write_screen (line 287) | void fbcon_write_screen(struct vconsole *vc, int from, int count, short ...
  function fbcon_blank_screen (line 321) | void fbcon_blank_screen(struct vconsole *vc)
  function fbcon_scroll_screen (line 339) | void fbcon_scroll_screen(struct vconsole *vc, int top, int mode)
  function fbcon_restore_screen (line 417) | void fbcon_restore_screen(struct vconsole *vc)
  function fbcon_screen_on (line 443) | void fbcon_screen_on(struct vconsole *vc)
  function fbcon_screen_off (line 464) | void fbcon_screen_off(unsigned int arg)
  function fbcon_buf_scroll (line 476) | void fbcon_buf_scroll(struct vconsole *vc, int mode)
  function fbcon_cursor_blink (line 549) | void fbcon_cursor_blink(unsigned int arg)
  function fbcon_init (line 573) | void fbcon_init(void)

FILE: drivers/video/font-lat9-8x14.c
  type fbcon_font_desc (line 267) | struct fbcon_font_desc

FILE: drivers/video/font-lat9-8x16.c
  type fbcon_font_desc (line 267) | struct fbcon_font_desc

FILE: drivers/video/font-lat9-8x8.c
  type fbcon_font_desc (line 267) | struct fbcon_font_desc

FILE: drivers/video/fonts.c
  type fbcon_font_desc (line 16) | struct fbcon_font_desc
  type fbcon_font_desc (line 22) | struct fbcon_font_desc

FILE: drivers/video/vgacon.c
  function vgacon_put_char (line 37) | void vgacon_put_char(struct vconsole *vc, unsigned char ch)
  function vgacon_insert_char (line 52) | void vgacon_insert_char(struct vconsole *vc)
  function vgacon_delete_char (line 75) | void vgacon_delete_char(struct vconsole *vc)
  function vgacon_update_curpos (line 93) | void vgacon_update_curpos(struct vconsole *vc)
  function vgacon_show_cursor (line 106) | void vgacon_show_cursor(struct vconsole *vc, int mode)
  function vgacon_get_curpos (line 131) | void vgacon_get_curpos(struct vconsole *vc)
  function vgacon_write_screen (line 144) | void vgacon_write_screen(struct vconsole *vc, int from, int count, short...
  function vgacon_blank_screen (line 156) | void vgacon_blank_screen(struct vconsole *vc)
  function vgacon_scroll_screen (line 172) | void vgacon_scroll_screen(struct vconsole *vc, int top, int mode)
  function vgacon_restore_screen (line 212) | void vgacon_restore_screen(struct vconsole *vc)
  function vgacon_screen_on (line 222) | void vgacon_screen_on(struct vconsole *vc)
  function vgacon_screen_off (line 242) | void vgacon_screen_off(unsigned int arg)
  function vgacon_buf_scroll (line 254) | void vgacon_buf_scroll(struct vconsole *vc, int mode)
  function vgacon_cursor_blink (line 304) | void vgacon_cursor_blink(unsigned int arg)
  function vgacon_init (line 309) | void vgacon_init(void)

FILE: drivers/video/video.c
  function video_init (line 18) | void video_init(void)

FILE: fs/buffer.c
  type buffer (line 29) | struct buffer
  type buffer (line 30) | struct buffer
  type buffer (line 33) | struct buffer
  type buffer (line 34) | struct buffer
  type resource (line 36) | struct resource
  type buffer (line 38) | struct buffer
  type buffer (line 40) | struct buffer
  type buffer (line 42) | struct buffer
  type buffer (line 42) | struct buffer
  type buffer (line 45) | struct buffer
  function del_buffer_from_pool (line 58) | static void del_buffer_from_pool(struct buffer *buf)
  function insert_to_hash (line 88) | static void insert_to_hash(struct buffer *buf)
  function remove_from_hash (line 107) | static void remove_from_hash(struct buffer *buf)
  function insert_on_dirty_list (line 132) | static void insert_on_dirty_list(struct buffer *buf)
  function remove_from_dirty_list (line 159) | static void remove_from_dirty_list(struct buffer *buf)
  function insert_on_free_list (line 191) | static void insert_on_free_list(struct buffer *buf)
  function append_on_free_list (line 221) | static void append_on_free_list(struct buffer *buf)
  function remove_from_free_list (line 239) | static void remove_from_free_list(struct buffer *buf)
  function buffer_wait (line 268) | static void buffer_wait(struct buffer *buf)
  type buffer (line 285) | struct buffer
  type buffer (line 287) | struct buffer
  type buffer (line 325) | struct buffer
  type buffer (line 328) | struct buffer
  type buffer (line 372) | struct buffer
  type buffer (line 375) | struct buffer
  function sync_one_buffer (line 402) | static int sync_one_buffer(struct buffer *buf)
  type buffer (line 424) | struct buffer
  type buffer (line 426) | struct buffer
  type buffer (line 442) | struct buffer
  type buffer (line 445) | struct buffer
  function gbread (line 487) | int gbread(struct device *d, struct blk_request *brh)
  type buffer (line 527) | struct buffer
  type buffer (line 529) | struct buffer
  type device (line 530) | struct device
  function bwrite (line 549) | void bwrite(struct buffer *buf)
  function brelse (line 555) | void brelse(struct buffer *buf)
  function sync_buffers (line 574) | void sync_buffers(__dev_t dev)
  function invalidate_buffers (line 615) | void invalidate_buffers(__dev_t dev)
  function reclaim_siblings (line 637) | static int reclaim_siblings(struct buffer *buf)
  function reclaim_buffers (line 702) | int reclaim_buffers(void)
  function kbdflushd (line 777) | int kbdflushd(void)
  function buffer_init (line 832) | void buffer_init(void)

FILE: fs/devices.c
  type device (line 18) | struct device
  type device (line 19) | struct device
  type fs_operations (line 21) | struct fs_operations
  type fs_operations (line 64) | struct fs_operations
  function register_device (line 107) | int register_device(int type, struct device *new_d)
  function unregister_device (line 155) | void unregister_device(int type, struct device *device)
  type device (line 190) | struct device
  type device (line 194) | struct device
  function chr_dev_open (line 235) | int chr_dev_open(struct inode *i, struct fd *f)
  function blk_dev_open (line 247) | int blk_dev_open(struct inode *i, struct fd *f)
  function blk_dev_close (line 258) | int blk_dev_close(struct inode *i, struct fd *f)
  function blk_dev_read (line 269) | int blk_dev_read(struct inode *i, struct fd *f, char *buffer, __size_t c...
  function blk_dev_write (line 318) | int blk_dev_write(struct inode *i, struct fd *f, const char *buffer, __s...
  function blk_dev_ioctl (line 367) | int blk_dev_ioctl(struct inode *i, struct fd *f, int cmd, unsigned int arg)
  function __loff_t (line 378) | __loff_t blk_dev_llseek(struct inode *i, __loff_t offset)
  function dev_init (line 389) | void dev_init(void)

FILE: fs/devpts/dir.c
  type fs_operations (line 18) | struct fs_operations
  function devpts_dir_open (line 61) | int devpts_dir_open(struct inode *i, struct fd *f)
  function devpts_dir_close (line 67) | int devpts_dir_close(struct inode *i, struct fd *f)
  function devpts_dir_read (line 72) | int devpts_dir_read(struct inode *i, struct fd *f, char *buffer, __size_...
  function devpts_readdir (line 77) | int devpts_readdir(struct inode *i, struct fd *f, struct dirent *dirent,...

FILE: fs/devpts/inode.c
  function devpts_read_inode (line 17) | int devpts_read_inode(struct inode *i)
  function devpts_statfs (line 47) | void devpts_statfs(struct superblock *sb, struct statfs *statfsbuf)

FILE: fs/devpts/namei.c
  function devpts_lookup (line 16) | int devpts_lookup(const char *name, struct inode *dir, struct inode **i_...

FILE: fs/devpts/super.c
  type devpts_files (line 20) | struct devpts_files
  type fs_operations (line 22) | struct fs_operations
  function devpts_ialloc (line 65) | int devpts_ialloc(struct inode *i, int mode)
  function devpts_ifree (line 101) | void devpts_ifree(struct inode *i)
  function devpts_read_superblock (line 114) | int devpts_read_superblock(__dev_t dev, struct superblock *sb)
  function devpts_init (line 130) | int devpts_init(void)

FILE: fs/elf.c
  function elf_create_stack (line 65) | static void elf_create_stack(struct binargs *barg, unsigned int *sp, uns...
  function elf_load_interpreter (line 286) | static int elf_load_interpreter(struct inode *ii)
  function check_elf (line 391) | int check_elf(struct elf32_hdr *elf32_h)
  function elf_load (line 404) | int elf_load(struct inode *i, struct binargs *barg, struct sigcontext *s...

FILE: fs/ext2/bitmaps.c
  function find_first_zero (line 20) | static int find_first_zero(struct superblock *sb, __blk_t bmblock, struc...
  function change_bit (line 41) | static int change_bit(int mode, struct superblock *sb, __blk_t bmblock, ...
  function ext2_ialloc (line 82) | int ext2_ialloc(struct inode *i, int mode)
  function ext2_ifree (line 157) | void ext2_ifree(struct inode *i)
  function ext2_balloc (line 215) | int ext2_balloc(struct superblock *sb)
  function ext2_bfree (line 279) | void ext2_bfree(struct superblock *sb, int block)

FILE: fs/ext2/dir.c
  type fs_operations (line 19) | struct fs_operations
  function ext2_dir_open (line 62) | int ext2_dir_open(struct inode *i, struct fd *f)
  function ext2_dir_close (line 68) | int ext2_dir_close(struct inode *i, struct fd *f)
  function ext2_dir_read (line 73) | int ext2_dir_read(struct inode *i, struct fd *f, char *buffer, __size_t ...
  function ext2_readdir (line 78) | int ext2_readdir(struct inode *i, struct fd *f, struct dirent *dirent, _...
  function ext2_readdir64 (line 145) | int ext2_readdir64(struct inode *i, struct fd *f, struct dirent64 *diren...

FILE: fs/ext2/file.c
  type fs_operations (line 21) | struct fs_operations
  function ext2_file_open (line 64) | int ext2_file_open(struct inode *i, struct fd *f)
  function ext2_file_close (line 74) | int ext2_file_close(struct inode *i, struct fd *f)
  function ext2_file_write (line 79) | int ext2_file_write(struct inode *i, struct fd *f, const char *buffer, _...
  function __loff_t (line 205) | __loff_t ext2_file_llseek(struct inode *i, __loff_t offset)

FILE: fs/ext2/inode.c
  function free_dblock (line 31) | static int free_dblock(struct inode *i, int block, int offset)
  function free_indblock (line 53) | static int free_indblock(struct inode *i, int block, int offset)
  function get_group_desc (line 83) | static int get_group_desc(struct superblock *sb, __blk_t block_group, st...
  function ext2_read_inode (line 99) | int ext2_read_inode(struct inode *i)
  function ext2_write_inode (line 178) | int ext2_write_inode(struct inode *i)
  function ext2_bmap (line 227) | int ext2_bmap(struct inode *i, __off_t offset, int mode)
  function ext2_truncate (line 423) | int ext2_truncate(struct inode *i, __off_t length)

FILE: fs/ext2/namei.c
  type buffer (line 22) | struct buffer
  type inode (line 22) | struct inode
  type ext2_dir_entry_2 (line 22) | struct ext2_dir_entry_2
  type buffer (line 27) | struct buffer
  type ext2_dir_entry_2 (line 51) | struct ext2_dir_entry_2
  type ext2_dir_entry_2 (line 67) | struct ext2_dir_entry_2
  type buffer (line 86) | struct buffer
  type inode (line 86) | struct inode
  type inode (line 86) | struct inode
  type ext2_dir_entry_2 (line 86) | struct ext2_dir_entry_2
  type buffer (line 91) | struct buffer
  type ext2_dir_entry_2 (line 115) | struct ext2_dir_entry_2
  type buffer (line 152) | struct buffer
  type inode (line 152) | struct inode
  type ext2_dir_entry_2 (line 152) | struct ext2_dir_entry_2
  type buffer (line 155) | struct buffer
  type ext2_dir_entry_2 (line 164) | struct ext2_dir_entry_2
  function is_dir_empty (line 172) | static int is_dir_empty(struct inode *dir)
  function is_subdir (line 219) | static int is_subdir(struct inode *dir_new, struct inode *i_old)
  function ext2_lookup (line 243) | int ext2_lookup(const char *name, struct inode *dir, struct inode **i_res)
  function ext2_rmdir (line 309) | int ext2_rmdir(struct inode *dir, struct inode *i)
  function ext2_link (line 348) | int ext2_link(struct inode *i_old, struct inode *dir_new, char *name)
  function ext2_unlink (line 391) | int ext2_unlink(struct inode *dir, struct inode *i, char *name)
  function ext2_symlink (line 429) | int ext2_symlink(struct inode *dir, char *name, char *oldname)
  function ext2_mkdir (line 529) | int ext2_mkdir(struct inode *dir, char *name, __mode_t mode)
  function ext2_mknod (line 628) | int ext2_mknod(struct inode *dir, char *name, __mode_t mode, __dev_t dev)
  function ext2_create (line 717) | int ext2_create(struct inode *dir, char *name, int flags, __mode_t mode,...
  function ext2_rename (line 787) | int ext2_rename(struct inode *i_old, struct inode *dir_old, struct inode...

FILE: fs/ext2/super.c
  type fs_operations (line 19) | struct fs_operations
  function check_superblock (line 62) | static void check_superblock(struct ext2_super_block *sb)
  function ext2_statfs (line 75) | void ext2_statfs(struct superblock *sb, struct statfs *statfsbuf)
  function ext2_read_superblock (line 92) | int ext2_read_superblock(__dev_t dev, struct superblock *sb)
  function ext2_remount_fs (line 149) | int ext2_remount_fs(struct superblock *sb, int flags)
  function ext2_write_superblock (line 185) | int ext2_write_superblock(struct superblock *sb)
  function ext2_release_superblock (line 202) | void ext2_release_superblock(struct superblock *sb)
  function ext2_init (line 216) | int ext2_init(void)

FILE: fs/ext2/symlink.c
  type fs_operations (line 18) | struct fs_operations
  function ext2_readlink (line 61) | int ext2_readlink(struct inode *i, char *buffer, __size_t count)
  function ext2_followlink (line 94) | int ext2_followlink(struct inode *dir, struct inode *i, struct inode **i...

FILE: fs/fd.c
  type fd (line 15) | struct fd
  type resource (line 17) | struct resource
  function get_new_fd (line 19) | int get_new_fd(struct inode *i)
  function release_fd (line 40) | void release_fd(unsigned int fd)
  function get_new_user_fd (line 47) | int get_new_user_fd(int fd)
  function release_user_fd (line 62) | void release_user_fd(int ufd)
  function fd_init (line 67) | void fd_init(void)

FILE: fs/filesystems.c
  type filesystems (line 15) | struct filesystems
  function register_filesystem (line 17) | int register_filesystem(const char *name, struct fs_operations *fsop)
  type filesystems (line 43) | struct filesystems
  function fs_init (line 61) | void fs_init(void)

FILE: fs/inode.c
  type inode (line 40) | struct inode
  type inode (line 41) | struct inode
  type inode (line 42) | struct inode
  type resource (line 44) | struct resource
  type inode (line 46) | struct inode
  type inode (line 49) | struct inode
  type inode (line 51) | struct inode
  type inode (line 51) | struct inode
  type inode (line 54) | struct inode
  function del_inode_from_pool (line 69) | static void del_inode_from_pool(struct inode *i)
  function insert_to_hash (line 102) | static void insert_to_hash(struct inode *i)
  function remove_from_hash (line 121) | static void remove_from_hash(struct inode *i)
  function insert_on_free_list (line 150) | static void insert_on_free_list(struct inode *i)
  function remove_from_free_list (line 161) | static void remove_from_free_list(struct inode *i)
  type inode (line 184) | struct inode
  type inode (line 187) | struct inode
  function read_inode (line 228) | static int read_inode(struct inode *i)
  function write_inode (line 238) | static int write_inode(struct inode *i)
  type inode (line 253) | struct inode
  type inode (line 255) | struct inode
  function wait_on_inode (line 271) | static void wait_on_inode(struct inode *i)
  function inode_lock (line 282) | void inode_lock(struct inode *i)
  function inode_unlock (line 299) | void inode_unlock(struct inode *i)
  type inode (line 309) | struct inode
  type superblock (line 309) | struct superblock
  type inode (line 311) | struct inode
  type inode (line 330) | struct inode
  type superblock (line 330) | struct superblock
  type inode (line 333) | struct inode
  function bmap (line 383) | int bmap(struct inode *i, __off_t offset, int mode)
  function check_fs_busy (line 388) | int check_fs_busy(__dev_t dev, struct inode *root)
  function iput (line 409) | void iput(struct inode *i)
  function sync_inodes (line 461) | void sync_inodes(__dev_t dev)
  function invalidate_inodes (line 483) | void invalidate_inodes(__dev_t dev)
  function inode_init (line 503) | void inode_init(void)

FILE: fs/iso9660/dir.c
  type fs_operations (line 18) | struct fs_operations
  function iso9660_dir_open (line 61) | int iso9660_dir_open(struct inode *i, struct fd *f)
  function iso9660_dir_close (line 67) | int iso9660_dir_close(struct inode *i, struct fd *f)
  function iso9660_dir_read (line 72) | int iso9660_dir_read(struct inode *i, struct fd *f, char *buffer, __size...
  function iso9660_readdir (line 77) | int iso9660_readdir(struct inode *i, struct fd *f, struct dirent *dirent...

FILE: fs/iso9660/file.c
  type fs_operations (line 19) | struct fs_operations
  function iso9660_file_open (line 62) | int iso9660_file_open(struct inode *i, struct fd *f)
  function iso9660_file_close (line 71) | int iso9660_file_close(struct inode *i, struct fd *f)
  function __loff_t (line 76) | __loff_t iso9660_file_llseek(struct inode *i, __loff_t offset)

FILE: fs/iso9660/inode.c
  function read_pathtable (line 22) | static int read_pathtable(struct inode *i)
  function iso9660_read_inode (line 91) | int iso9660_read_inode(struct inode *i)
  function iso9660_bmap (line 175) | int iso9660_bmap(struct inode *i, __off_t offset, int mode)

FILE: fs/iso9660/namei.c
  function iso9660_lookup (line 19) | int iso9660_lookup(const char *name, struct inode *dir, struct inode **i...

FILE: fs/iso9660/rrip.c
  function check_rrip_inode (line 19) | void check_rrip_inode(struct iso9660_directory_record *d, struct inode *i)
  function get_rrip_filename (line 152) | int get_rrip_filename(struct iso9660_directory_record *d, struct inode *...
  function get_rrip_symlink (line 228) | int get_rrip_symlink(struct inode *i, char *name)

FILE: fs/iso9660/super.c
  type fs_operations (line 20) | struct fs_operations
  function isonum_711 (line 63) | int isonum_711(char *str)
  function isonum_723 (line 72) | int isonum_723(char *str)
  function isonum_731 (line 81) | int isonum_731(char *str)
  function isonum_733 (line 90) | int isonum_733(char *p)
  function isodate (line 96) | unsigned int isodate(const char *p)
  function iso9660_cleanfilename (line 117) | int iso9660_cleanfilename(char *filename, int len)
  function iso9660_statfs (line 139) | void iso9660_statfs(struct superblock *sb, struct statfs *statfsbuf)
  function iso9660_read_superblock (line 152) | int iso9660_read_superblock(__dev_t dev, struct superblock *sb)
  function iso9660_release_superblock (line 215) | void iso9660_release_superblock(struct superblock *sb)
  function iso9660_init (line 222) | int iso9660_init(void)

FILE: fs/iso9660/symlink.c
  type fs_operations (line 19) | struct fs_operations
  function iso9660_readlink (line 62) | int iso9660_readlink(struct inode *i, char *buffer, __size_t count)
  function iso9660_followlink (line 82) | int iso9660_followlink(struct inode *dir, struct inode *i, struct inode ...

FILE: fs/locks.c
  type flock_file (line 20) | struct flock_file
  type resource (line 22) | struct resource
  type flock_file (line 24) | struct flock_file
  type inode (line 24) | struct inode
  type flock_file (line 26) | struct flock_file
  type flock_file (line 33) | struct flock_file
  type flock_file (line 33) | struct flock_file
  type flock_file (line 36) | struct flock_file
  function release_flock (line 56) | static void release_flock(struct flock_file *ff)
  type flock_file (line 89) | struct flock_file
  type inode (line 89) | struct inode
  type proc (line 89) | struct proc
  type flock_file (line 91) | struct flock_file
  function posix_lock (line 106) | int posix_lock(int ufd, int cmd, struct flock *fl)
  function flock_release_inode (line 158) | void flock_release_inode(struct inode *i)
  function flock_inode (line 175) | int flock_inode(struct inode *i, int op)

FILE: fs/minix/bitmaps.c
  function count_bits (line 21) | static int count_bits(struct superblock *sb, __blk_t offset, int num, in...
  function minix_change_bit (line 59) | int minix_change_bit(int mode, struct superblock *sb, int map, int item)
  function minix_balloc (line 92) | int minix_balloc(struct superblock *sb)
  function minix_bfree (line 122) | void minix_bfree(struct superblock *sb, int block)
  function minix_count_free_inodes (line 149) | int minix_count_free_inodes(struct superblock *sb)
  function minix_count_free_blocks (line 157) | int minix_count_free_blocks(struct superblock *sb)
  function minix_find_first_zero (line 165) | int minix_find_first_zero(struct superblock *sb, __blk_t offset, int num...

FILE: fs/minix/dir.c
  type fs_operations (line 20) | struct fs_operations
  function minix_dir_open (line 63) | int minix_dir_open(struct inode *i, struct fd *f)
  function minix_dir_close (line 69) | int minix_dir_close(struct inode *i, struct fd *f)
  function minix_dir_read (line 74) | int minix_dir_read(struct inode *i, struct fd *f, char *buffer, __size_t...
  function minix_readdir (line 79) | int minix_readdir(struct inode *i, struct fd *f, struct dirent *dirent, ...

FILE: fs/minix/file.c
  type fs_operations (line 21) | struct fs_operations
  function minix_file_open (line 64) | int minix_file_open(struct inode *i, struct fd *f)
  function minix_file_close (line 74) | int minix_file_close(struct inode *i, struct fd *f)
  function minix_file_write (line 79) | int minix_file_write(struct inode *i, struct fd *f, const char *buffer, ...
  function __loff_t (line 126) | __loff_t minix_file_llseek(struct inode *i, __loff_t offset)

FILE: fs/minix/inode.c
  function minix_read_inode (line 24) | int minix_read_inode(struct inode *i)
  function minix_write_inode (line 33) | int minix_write_inode(struct inode *i)
  function minix_ialloc (line 42) | int minix_ialloc(struct inode *i, int mode)
  function minix_ifree (line 51) | void minix_ifree(struct inode *i)
  function minix_bmap (line 60) | int minix_bmap(struct inode *i, __off_t offset, int mode)
  function minix_truncate (line 69) | int minix_truncate(struct inode *i, __off_t length)

FILE: fs/minix/namei.c
  type buffer (line 22) | struct buffer
  type inode (line 22) | struct inode
  type minix_dir_entry (line 22) | struct minix_dir_entry
  type buffer (line 27) | struct buffer
  type minix_dir_entry (line 42) | struct minix_dir_entry
  type buffer (line 65) | struct buffer
  type inode (line 65) | struct inode
  type inode (line 65) | struct inode
  type minix_dir_entry (line 65) | struct minix_dir_entry
  type buffer (line 70) | struct buffer
  type minix_dir_entry (line 85) | struct minix_dir_entry
  type buffer (line 118) | struct buffer
  type inode (line 118) | struct inode
  type minix_dir_entry (line 118) | struct minix_dir_entry
  type buffer (line 121) | struct buffer
  type minix_dir_entry (line 130) | struct minix_dir_entry
  function is_dir_empty (line 137) | static int is_dir_empty(struct inode *dir)
  function is_subdir (line 179) | static int is_subdir(struct inode *dir_new, struct inode *i_old)
  function minix_lookup (line 203) | int minix_lookup(const char *name, struct inode *dir, struct inode **i_res)
  function minix_rmdir (line 256) | int minix_rmdir(struct inode *dir, struct inode *i)
  function minix_link (line 294) | int minix_link(struct inode *i_old, struct inode *dir_new, char *name)
  function minix_unlink (line 335) | int minix_unlink(struct inode *dir, struct inode *i, char *name)
  function minix_symlink (line 366) | int minix_symlink(struct inode *dir, char *name, char *oldname)
  function minix_mkdir (line 460) | int minix_mkdir(struct inode *dir, char *name, __mode_t mode)
  function minix_mknod (line 556) | int minix_mknod(struct inode *dir, char *name, __mode_t mode, __dev_t dev)
  function minix_create (line 640) | int minix_create(struct inode *dir, char *name, int flags, __mode_t mode...
  function minix_rename (line 705) | int minix_rename(struct inode *i_old, struct inode *dir_old, struct inod...

FILE: fs/minix/super.c
  type fs_operations (line 20) | struct fs_operations
  function check_superblock (line 63) | static void check_superblock(struct minix_super_block *sb)
  function minix_statfs (line 73) | void minix_statfs(struct superblock *sb, struct statfs *statfsbuf)
  function minix_read_superblock (line 87) | int minix_read_superblock(__dev_t dev, struct superblock *sb)
  function minix_remount_fs (line 202) | int minix_remount_fs(struct superblock *sb, int flags)
  function minix_write_superblock (line 236) | int minix_write_superblock(struct superblock *sb)
  function minix_release_superblock (line 253) | void minix_release_superblock(struct superblock *sb)
  function minix_init (line 267) | int minix_init(void)

FILE: fs/minix/symlink.c
  type fs_operations (line 18) | struct fs_operations
  function minix_readlink (line 61) | int minix_readlink(struct inode *i, char *buffer, __size_t count)
  function minix_followlink (line 97) | int minix_followlink(struct inode *dir, struct inode *i, struct inode **...

FILE: fs/minix/v1_inode.c
  function free_zone (line 34) | static int free_zone(struct inode *i, int block, int offset)
  function free_indblock (line 55) | static int free_indblock(struct inode *i, int block, int offset)
  function v1_minix_read_inode (line 85) | int v1_minix_read_inode(struct inode *i)
  function v1_minix_write_inode (line 155) | int v1_minix_write_inode(struct inode *i)
  function v1_minix_ialloc (line 186) | int v1_minix_ialloc(struct inode *i, int mode)
  function v1_minix_ifree (line 222) | void v1_minix_ifree(struct inode *i)
  function v1_minix_bmap (line 250) | int v1_minix_bmap(struct inode *i, __off_t offset, int mode)
  function v1_minix_truncate (line 380) | int v1_minix_truncate(struct inode *i, __off_t length)

FILE: fs/minix/v2_inode.c
  function free_zone (line 36) | static int free_zone(struct inode *i, int block, int offset)
  function free_indblock (line 57) | static int free_indblock(struct inode *i, int block, int offset)
  function v2_minix_read_inode (line 87) | int v2_minix_read_inode(struct inode *i)
  function v2_minix_write_inode (line 157) | int v2_minix_write_inode(struct inode *i)
  function v2_minix_ialloc (line 190) | int v2_minix_ialloc(struct inode *i, int mode)
  function v2_minix_ifree (line 226) | void v2_minix_ifree(struct inode *i)
  function v2_minix_bmap (line 254) | int v2_minix_bmap(struct inode *i, __off_t offset, int mode)
  function v2_minix_truncate (line 445) | int v2_minix_truncate(struct inode *i, __off_t length)

FILE: fs/namei.c
  function do_namei (line 20) | static int do_namei(char *path, struct inode *dir, struct inode **i_res,...
  function parse_namei (line 134) | int parse_namei(char *path, struct inode *base_dir, struct inode **i_res...
  function namei (line 164) | int namei(char *path, struct inode **i_res, struct inode **d_res, int fo...

FILE: fs/pipefs/fifo.c
  function fifo_open (line 20) | int fifo_open(struct inode *i, struct fd *f)

FILE: fs/pipefs/pipe.c
  type resource (line 21) | struct resource
  function pipefs_close (line 23) | int pipefs_close(struct inode *i, struct fd *f)
  function pipefs_read (line 50) | int pipefs_read(struct inode *i, struct fd *f, char *buffer, __size_t co...
  function pipefs_write (line 109) | int pipefs_write(struct inode *i, struct fd *f, const char *buffer, __si...
  function pipefs_ioctl (line 172) | int pipefs_ioctl(struct inode *i, struct fd *f, int cmd, unsigned int arg)
  function __loff_t (line 189) | __loff_t pipefs_llseek(struct inode *i, __loff_t offset)
  function pipefs_select (line 194) | int pipefs_select(struct inode *i, struct fd *f, int flag)

FILE: fs/pipefs/super.c
  type fs_operations (line 21) | struct fs_operations
  function pipefs_ialloc (line 64) | int pipefs_ialloc(struct inode *i, int mode)
  function pipefs_ifree (line 87) | void pipefs_ifree(struct inode *i)
  function pipefs_read_superblock (line 100) | int pipefs_read_superblock(__dev_t dev, struct superblock *sb)
  function pipefs_init (line 111) | int pipefs_init(void)

FILE: fs/procfs/data.c
  function data_proc_self (line 53) | int data_proc_self(char *buffer, __pid_t pid)
  function data_proc_buddyinfo (line 58) | int data_proc_buddyinfo(char *buffer, __pid_t pid)
  function data_proc_cmdline (line 77) | int data_proc_cmdline(char *buffer, __pid_t pid)
  function data_proc_cpuinfo (line 82) | int data_proc_cpuinfo(char *buffer, __pid_t pid)
  function data_proc_devices (line 121) | int data_proc_devices(char *buffer, __pid_t pid)
  function data_proc_dma (line 146) | int data_proc_dma(char *buffer, __pid_t pid)
  function data_proc_filesystems (line 159) | int data_proc_filesystems(char *buffer, __pid_t pid)
  function data_proc_interrupts (line 177) | int data_proc_interrupts(char *buffer, __pid_t pid)
  function data_proc_loadavg (line 196) | int data_proc_loadavg(char *buffer, __pid_t pid)
  function data_proc_locks (line 220) | int data_proc_locks(char *buffer, __pid_t pid)
  function data_proc_meminfo (line 240) | int data_proc_meminfo(char *buffer, __pid_t pid)
  function data_proc_mounts (line 272) | int data_proc_mounts(char *buffer, __pid_t pid)
  function data_proc_partitions (line 291) | int data_proc_partitions(char *buffer, __pid_t pid)
  function data_proc_pci (line 326) | int data_proc_pci(char *buffer, __pid_t pid)
  function data_proc_rtc (line 372) | int data_proc_rtc(char *buffer, __pid_t pid)
  function data_proc_stat (line 406) | int data_proc_stat(char *buffer, __pid_t pid)
  function data_proc_uptime (line 432) | int data_proc_uptime(char *buffer, __pid_t pid)
  function data_proc_fullversion (line 443) | int data_proc_fullversion(char *buffer, __pid_t pid)
  function data_proc_unix (line 449) | int data_proc_unix(char *buffer, __pid_t pid)
  function data_proc_pci_devices (line 481) | int data_proc_pci_devices(char *buffer, __pid_t pid)
  function data_proc_buffernr (line 517) | int data_proc_buffernr(char *buffer, __pid_t pid)
  function data_proc_domainname (line 522) | int data_proc_domainname(char *buffer, __pid_t pid)
  function data_proc_filemax (line 527) | int data_proc_filemax(char *buffer, __pid_t pid)
  function data_proc_filenr (line 532) | int data_proc_filenr(char *buffer, __pid_t pid)
  function data_proc_hostname (line 545) | int data_proc_hostname(char *buffer, __pid_t pid)
  function data_proc_inodemax (line 550) | int data_proc_inodemax(char *buffer, __pid_t pid)
  function data_proc_inodenr (line 555) | int data_proc_inodenr(char *buffer, __pid_t pid)
  function data_proc_osrelease (line 560) | int data_proc_osrelease(char *buffer, __pid_t pid)
  function data_proc_ostype (line 565) | int data_proc_ostype(char *buffer, __pid_t pid)
  function data_proc_version (line 570) | int data_proc_version(char *buffer, __pid_t pid)
  function data_proc_dirty_background_ratio (line 575) | int data_proc_dirty_background_ratio(char *buffer, __pid_t pid)
  function data_proc_pid_fd (line 585) | int data_proc_pid_fd(char *buffer, __pid_t pid, __ino_t inode)
  function data_proc_pid_cmdline (line 600) | int data_proc_pid_cmdline(char *buffer, __pid_t pid)
  function data_proc_pid_cwd (line 629) | int data_proc_pid_cwd(char *buffer, __pid_t pid)
  function data_proc_pid_environ (line 649) | int data_proc_pid_environ(char *buffer, __pid_t pid)
  function data_proc_pid_exe (line 678) | int data_proc_pid_exe(char *buffer, __pid_t pid)
  function data_proc_pid_maps (line 703) | int data_proc_pid_maps(char *buffer, __pid_t pid)
  function data_proc_pid_mountinfo (line 760) | int data_proc_pid_mountinfo(char *buffer, __pid_t pid)
  function data_proc_pid_root (line 784) | int data_proc_pid_root(char *buffer, __pid_t pid)
  function data_proc_pid_stat (line 804) | int data_proc_pid_stat(char *buffer, __pid_t pid)
  function data_proc_pid_statm (line 889) | int data_proc_pid_statm(char *buffer, __pid_t pid)
  function data_proc_pid_status (line 929) | int data_proc_pid_status(char *buffer, __pid_t pid)

FILE: fs/procfs/dir.c
  type fs_operations (line 19) | struct fs_operations
  function free_all_fdstr (line 62) | static void free_all_fdstr(struct procfs_dir_entry *d)
  function proc_listdir (line 72) | static int proc_listdir(char *buffer, int count)
  function proc_listfd (line 110) | static int proc_listfd(struct inode *i, char *buffer, int count)
  function dir_read (line 150) | static int dir_read(struct inode *i, struct fd *f, char *buffer, __size_...
  function procfs_dir_open (line 193) | int procfs_dir_open(struct inode *i, struct fd *f)
  function procfs_dir_close (line 199) | int procfs_dir_close(struct inode *i, struct fd *f)
  function procfs_dir_read (line 204) | int procfs_dir_read(struct inode *i, struct fd *f, char *buffer, __size_...
  function procfs_readdir (line 209) | int procfs_readdir(struct inode *i, struct fd *f, struct dirent *dirent,...

FILE: fs/procfs/file.c
  type fs_operations (line 18) | struct fs_operations
  function procfs_file_open (line 61) | int procfs_file_open(struct inode *i, struct fd *f)
  function procfs_file_close (line 70) | int procfs_file_close(struct inode *i, struct fd *f)
  function procfs_file_read (line 75) | int procfs_file_read(struct inode *i, struct fd *f, char *buffer, __size...
  function __loff_t (line 120) | __loff_t procfs_file_llseek(struct inode *i, __loff_t offset)

FILE: fs/procfs/inode.c
  function procfs_read_inode (line 22) | int procfs_read_inode(struct inode *i)
  function procfs_bmap (line 85) | int procfs_bmap(struct inode *i, __off_t offset, int mode)
  function procfs_statfs (line 90) | void procfs_statfs(struct superblock *sb, struct statfs *statfsbuf)

FILE: fs/procfs/kmsg.c
  function kmsg_open (line 16) | static int kmsg_open(struct inode *i, struct fd *f)
  function kmsg_close (line 21) | static int kmsg_close(struct inode *i, struct fd *f)
  function kmsg_read (line 26) | static int kmsg_read(struct inode *i, struct fd *f, char *buffer, __size...
  function kmsg_select (line 31) | static int kmsg_select(struct inode *i, struct fd *f, int flag)
  type fs_operations (line 43) | struct fs_operations

FILE: fs/procfs/namei.c
  function procfs_lookup (line 19) | int procfs_lookup(const char *name, struct inode *dir, struct inode **i_...

FILE: fs/procfs/super.c
  type fs_operations (line 19) | struct fs_operations
  function procfs_read_superblock (line 62) | int procfs_read_superblock(__dev_t dev, struct superblock *sb)
  function procfs_init (line 80) | int procfs_init(void)

FILE: fs/procfs/symlink.c
  type fs_operations (line 19) | struct fs_operations
  function procfs_readlink (line 62) | int procfs_readlink(struct inode *i, char *buffer, __size_t count)
  function procfs_followlink (line 104) | int procfs_followlink(struct inode *dir, struct inode *i, struct inode *...

FILE: fs/procfs/tree.c
  type procfs_dir_entry (line 28) | struct procfs_dir_entry
  type procfs_dir_entry (line 127) | struct procfs_dir_entry
  type inode (line 127) | struct inode
  type procfs_dir_entry (line 131) | struct procfs_dir_entry

FILE: fs/script.c
  function script_load (line 14) | int script_load(char *interpreter, char *args, char *data)

FILE: fs/sockfs/socket.c
  function sockfs_open (line 17) | int sockfs_open(struct inode *i, struct fd *f)
  function sockfs_close (line 22) | int sockfs_close(struct inode *i, struct fd *f)
  function sockfs_read (line 31) | int sockfs_read(struct inode *i, struct fd *f, char *buffer, __size_t co...
  function sockfs_write (line 39) | int sockfs_write(struct inode *i, struct fd *f, const char *buffer, __si...
  function sockfs_ioctl (line 47) | int sockfs_ioctl(struct inode *i, struct fd *f, int cmd, unsigned int arg)
  function __loff_t (line 55) | __loff_t sockfs_llseek(struct inode *i, __loff_t offset)
  function sockfs_select (line 60) | int sockfs_select(struct inode *i, struct fd *f, int flag)

FILE: fs/sockfs/super.c
  type fs_operations (line 21) | struct fs_operations
  function sockfs_ialloc (line 64) | int sockfs_ialloc(struct inode *i, int mode)
  function sockfs_ifree (line 86) | void sockfs_ifree(struct inode *i)
  function sockfs_read_superblock (line 95) | int sockfs_read_superblock(__dev_t dev, struct superblock *sb)
  function sockfs_init (line 106) | int sockfs_init(void)

FILE: fs/super.c
  type mount (line 22) | struct mount
  type resource (line 23) | struct resource
  function superblock_lock (line 25) | void superblock_lock(struct superblock *sb)
  function superblock_unlock (line 42) | void superblock_unlock(struct superblock *sb)
  type mount (line 52) | struct mount
  type mount (line 55) | struct mount
  type mount (line 67) | struct mount
  type mount (line 67) | struct mount
  type mount (line 70) | struct mount
  function del_mount_point (line 99) | void del_mount_point(struct mount *mp)
  type mount (line 134) | struct mount
  type inode (line 134) | struct inode
  type mount (line 136) | struct mount
  type superblock (line 157) | struct superblock
  type mount (line 159) | struct mount
  function sync_superblocks (line 172) | void sync_superblocks(__dev_t dev)
  function kern_mount (line 195) | int kern_mount(__dev_t dev, struct filesystems *fs)
  function mount_root (line 214) | int mount_root(void)

FILE: include/fiwix/ata.h
  type ata_drv_ident (line 173) | struct ata_drv_ident {
  type prd (line 242) | struct prd {
  type ide (line 248) | struct ide
  type xfer_data (line 250) | struct xfer_data {
  type ata_xfer (line 269) | struct ata_xfer {
  type ata_drv (line 278) | struct ata_drv {
  type ide (line 303) | struct ide {
  type ide (line 319) | struct ide
  type sigcontext (line 321) | struct sigcontext
  type sigcontext (line 323) | struct sigcontext
  type ide (line 326) | struct ide
  type ide (line 328) | struct ide
  type ide (line 329) | struct ide
  type ide (line 330) | struct ide
  type ide (line 331) | struct ide
  type ata_drv (line 331) | struct ata_drv
  type ide (line 332) | struct ide
  type ide (line 333) | struct ide
  type ide (line 334) | struct ide
  type ide (line 335) | struct ide
  type ide (line 336) | struct ide
  type ide (line 337) | struct ide
  type inode (line 339) | struct inode
  type fd (line 339) | struct fd
  type inode (line 340) | struct inode
  type fd (line 340) | struct fd
  type inode (line 343) | struct inode
  type fd (line 343) | struct fd
  type inode (line 344) | struct inode

FILE: include/fiwix/ata_hd.h
  type inode (line 15) | struct inode
  type fd (line 15) | struct fd
  type inode (line 16) | struct inode
  type fd (line 16) | struct fd
  type inode (line 19) | struct inode
  type fd (line 19) | struct fd
  type inode (line 20) | struct inode
  type ide (line 21) | struct ide
  type ata_drv (line 21) | struct ata_drv

FILE: include/fiwix/ata_pci.h
  type ide (line 14) | struct ide
  type ata_drv (line 14) | struct ata_drv
  type ide (line 15) | struct ide
  type ata_drv (line 15) | struct ata_drv
  type ide (line 16) | struct ide
  type ata_drv (line 16) | struct ata_drv
  type ide (line 17) | struct ide

FILE: include/fiwix/atapi.h
  type ide (line 47) | struct ide
  type ata_drv (line 47) | struct ata_drv
  type ide (line 48) | struct ide
  type ata_drv (line 48) | struct ata_drv
  type ide (line 49) | struct ide
  type ata_drv (line 49) | struct ata_drv
  type ide (line 50) | struct ide
  type ata_drv (line 50) | struct ata_drv
  type ide (line 51) | struct ide
  type ata_drv (line 51) | struct ata_drv
  type ide (line 52) | struct ide
  type ata_drv (line 52) | struct ata_drv
  type ide (line 53) | struct ide
  type ata_drv (line 53) | struct ata_drv

FILE: include/fiwix/atapi_cd.h
  type inode (line 15) | struct inode
  type fd (line 15) | struct fd
  type inode (line 16) | struct inode
  type fd (line 16) | struct fd
  type inode (line 18) | struct inode
  type fd (line 18) | struct fd
  type inode (line 19) | struct inode
  type ide (line 20) | struct ide
  type ata_drv (line 20) | struct ata_drv

FILE: include/fiwix/bios.h
  type bios_mem_map (line 15) | struct bios_mem_map {
  type bios_mem_map (line 22) | struct bios_mem_map
  type bios_mem_map (line 23) | struct bios_mem_map
  type multiboot_mmap_entry (line 28) | struct multiboot_mmap_entry

FILE: include/fiwix/blk_queue.h
  type blk_request (line 20) | struct blk_request {
  type blk_request (line 36) | struct blk_request
  type device (line 37) | struct device
  type buffer (line 37) | struct buffer
  type device (line 38) | struct device

FILE: include/fiwix/buffer.h
  type buffer (line 23) | struct buffer {
  type buffer (line 42) | struct buffer
  type buffer (line 43) | struct buffer
  type device (line 48) | struct device
  type blk_request (line 48) | struct blk_request
  type buffer (line 49) | struct buffer
  type buffer (line 50) | struct buffer
  type buffer (line 51) | struct buffer

FILE: include/fiwix/charq.h
  type clist (line 16) | struct clist {
  type cblock (line 23) | struct cblock {
  type clist (line 31) | struct clist
  type clist (line 32) | struct clist
  type clist (line 33) | struct clist
  type clist (line 34) | struct clist
  type clist (line 35) | struct clist

FILE: include/fiwix/console.h
  type vconsole (line 109) | struct vconsole {
  type video_parms (line 132) | struct video_parms {
  type video_parms (line 170) | struct video_parms
  type tty (line 172) | struct tty
  type tty (line 173) | struct tty
  type vconsole (line 176) | struct vconsole
  type vconsole (line 177) | struct vconsole
  type tty (line 178) | struct tty
  type tty (line 179) | struct tty
  type tty (line 181) | struct tty

FILE: include/fiwix/cpu.h
  type cpu (line 46) | struct cpu {
  type cpu (line 58) | struct cpu
  type cpu_type (line 60) | struct cpu_type {

FILE: include/fiwix/devices.h
  type device (line 25) | struct device {
  type device (line 37) | struct device
  type device (line 38) | struct device
  type device (line 40) | struct device
  type device (line 41) | struct device
  type device (line 42) | struct device
  type inode (line 43) | struct inode
  type fd (line 43) | struct fd
  type inode (line 44) | struct inode
  type fd (line 44) | struct fd
  type inode (line 45) | struct inode
  type fd (line 45) | struct fd
  type inode (line 46) | struct inode
  type fd (line 46) | struct fd
  type inode (line 47) | struct inode
  type fd (line 47) | struct fd
  type inode (line 48) | struct inode
  type fd (line 48) | struct fd
  type inode (line 49) | struct inode

FILE: include/fiwix/dirent.h
  type dirent (line 14) | struct dirent {
  type dirent64 (line 21) | struct dirent64 {

FILE: include/fiwix/fb.h
  type inode (line 16) | struct inode
  type fd (line 16) | struct fd
  type inode (line 17) | struct inode
  type fd (line 17) | struct fd
  type inode (line 18) | struct inode
  type fd (line 18) | struct fd
  type inode (line 19) | struct inode
  type fd (line 19) | struct fd
  type inode (line 20) | struct inode
  type vma (line 20) | struct vma
  type inode (line 21) | struct inode
  type fd (line 21) | struct fd
  type inode (line 22) | struct inode

FILE: include/fiwix/fbcon.h
  type vconsole (line 11) | struct vconsole
  type vconsole (line 13) | struct vconsole
  type vconsole (line 14) | struct vconsole
  type vconsole (line 15) | struct vconsole
  type vconsole (line 16) | struct vconsole
  type vconsole (line 17) | struct vconsole
  type vconsole (line 18) | struct vconsole
  type vconsole (line 19) | struct vconsole
  type vconsole (line 20) | struct vconsole
  type vconsole (line 21) | struct vconsole
  type vconsole (line 22) | struct vconsole
  type vconsole (line 23) | struct vconsole
  type vconsole (line 25) | struct vconsole

FILE: include/fiwix/fcntl.h
  type flock (line 64) | struct flock {

FILE: include/fiwix/fd.h
  type fd (line 22) | struct fd
  type fd (line 24) | struct fd {

FILE: include/fiwix/filesystems.h
  type filesystems (line 25) | struct filesystems {
  type filesystems (line 30) | struct filesystems
  type mount (line 32) | struct mount {
  type mount (line 41) | struct mount
  type fs_operations (line 43) | struct fs_operations
  type filesystems (line 44) | struct filesystems
  type superblock (line 47) | struct superblock
  type filesystems (line 49) | struct filesystems
  type inode (line 54) | struct inode
  type fd (line 54) | struct fd
  type inode (line 55) | struct inode
  type fd (line 55) | struct fd
  type inode (line 56) | struct inode
  type fd (line 56) | struct fd
  type inode (line 57) | struct inode
  type inode (line 58) | struct inode
  type fd (line 58) | struct fd
  type inode (line 59) | struct inode
  type fd (line 59) | struct fd
  type inode (line 60) | struct inode
  type fd (line 60) | struct fd
  type inode (line 61) | struct inode
  type fd (line 61) | struct fd
  type dirent (line 61) | struct dirent
  type inode (line 62) | struct inode
  type inode (line 63) | struct inode
  type inode (line 63) | struct inode
  type inode (line 63) | struct inode
  type inode (line 64) | struct inode
  type inode (line 65) | struct inode
  type inode (line 65) | struct inode
  type inode (line 66) | struct inode
  type inode (line 66) | struct inode
  type inode (line 67) | struct inode
  type inode (line 67) | struct inode
  type inode (line 68) | struct inode
  type inode (line 68) | struct inode
  type inode (line 69) | struct inode
  type inode (line 70) | struct inode
  type inode (line 71) | struct inode
  type inode (line 72) | struct inode
  type inode (line 73) | struct inode
  type inode (line 73) | struct inode
  type inode (line 74) | struct inode
  type inode (line 74) | struct inode
  type inode (line 74) | struct inode
  type inode (line 74) | struct inode
  type inode (line 75) | struct inode
  type inode (line 76) | struct inode
  type inode (line 77) | struct inode
  type inode (line 78) | struct inode
  type superblock (line 79) | struct superblock
  type statfs (line 79) | struct statfs
  type superblock (line 80) | struct superblock
  type superblock (line 81) | struct superblock
  type superblock (line 82) | struct superblock
  type superblock (line 83) | struct superblock
  type inode (line 87) | struct inode
  type fd (line 87) | struct fd
  type inode (line 88) | struct inode
  type fd (line 88) | struct fd
  type inode (line 89) | struct inode
  type fd (line 89) | struct fd
  type inode (line 90) | struct inode
  type inode (line 91) | struct inode
  type fd (line 91) | struct fd
  type inode (line 92) | struct inode
  type fd (line 92) | struct fd
  type inode (line 93) | struct inode
  type fd (line 93) | struct fd
  type inode (line 94) | struct inode
  type fd (line 94) | struct fd
  type dirent (line 94) | struct dirent
  type inode (line 95) | struct inode
  type fd (line 95) | struct fd
  type dirent64 (line 95) | struct dirent64
  type inode (line 96) | struct inode
  type inode (line 97) | struct inode
  type inode (line 97) | struct inode
  type inode (line 97) | struct inode
  type inode (line 98) | struct inode
  type inode (line 99) | struct inode
  type inode (line 99) | struct inode
  type inode (line 100) | struct inode
  type inode (line 100) | struct inode
  type inode (line 101) | struct inode
  type inode (line 101) | struct inode
  type inode (line 102) | struct inode
  type inode (line 102) | struct inode
  type inode (line 103) | struct inode
  type inode (line 104) | struct inode
  type inode (line 105) | struct inode
  type inode (line 106) | struct inode
  type inode (line 107) | struct inode
  type inode (line 107) | struct inode
  type inode (line 108) | struct inode
  type inode (line 108) | struct inode
  type inode (line 108) | struct inode
  type inode (line 108) | struct inode
  type inode (line 109) | struct inode
  type inode (line 110) | struct inode
  type inode (line 111) | struct inode
  type inode (line 112) | struct inode
  type superblock (line 113) | struct superblock
  type statfs (line 113) | struct statfs
  type superblock (line 114) | struct superblock
  type superblock (line 115) | struct superblock
  type superblock (line 116) | struct superblock
  type superblock (line 117) | struct superblock
  type inode (line 121) | struct inode
  type fd (line 121) | struct fd
  type inode (line 122) | struct inode
  type fd (line 122) | struct fd
  type inode (line 123) | struct inode
  type fd (line 123) | struct fd
  type inode (line 124) | struct inode
  type fd (line 124) | struct fd
  type inode (line 125) | struct inode
  type fd (line 125) | struct fd
  type inode (line 126) | struct inode
  type inode (line 127) | struct inode
  type fd (line 127) | struct fd
  type inode (line 128) | struct inode
  type inode (line 129) | struct inode
  type superblock (line 130) | struct superblock
  type inode (line 134) | struct inode
  type fd (line 134) | struct fd
  type inode (line 135) | struct inode
  type fd (line 135) | struct fd
  type inode (line 136) | struct inode
  type inode (line 137) | struct inode
  type fd (line 137) | struct fd
  type inode (line 138) | struct inode
  type fd (line 138) | struct fd
  type inode (line 139) | struct inode
  type fd (line 139) | struct fd
  type inode (line 140) | struct inode
  type fd (line 140) | struct fd
  type dirent (line 140) | struct dirent
  type inode (line 141) | struct inode
  type inode (line 142) | struct inode
  type inode (line 142) | struct inode
  type inode (line 142) | struct inode
  type inode (line 143) | struct inode
  type inode (line 144) | struct inode
  type inode (line 144) | struct inode
  type inode (line 145) | struct inode
  type superblock (line 146) | struct superblock
  type statfs (line 146) | struct statfs
  type superblock (line 147) | struct superblock
  type superblock (line 148) | struct superblock
  type inode (line 152) | struct inode
  type fd (line 152) | struct fd
  type inode (line 153) | struct inode
  type fd (line 153) | struct fd
  type inode (line 154) | struct inode
  type fd (line 154) | struct fd
  type inode (line 155) | struct inode
  type inode (line 156) | struct inode
  type fd (line 156) | struct fd
  type inode (line 157) | struct inode
  type fd (line 157) | struct fd
  type inode (line 158) | struct inode
  type fd (line 158) | struct fd
  type inode (line 159) | struct inode
  type fd (line 159) | struct fd
  type dirent (line 159) | struct dirent
  type inode (line 160) | struct inode
  type inode (line 161) | struct inode
  type inode (line 161) | struct inode
  type inode (line 161) | struct inode
  type inode (line 162) | struct inode
  type inode (line 163) | struct inode
  type inode (line 163) | struct inode
  type inode (line 164) | struct inode
  type superblock (line 165) | struct superblock
  type statfs (line 165) | struct statfs
  type superblock (line 166) | struct superblock
  type inode (line 171) | struct inode
  type fd (line 171) | struct fd
  type inode (line 172) | struct inode
  type fd (line 172) | struct fd
  type inode (line 173) | struct inode
  type fd (line 173) | struct fd
  type inode (line 174) | struct inode
  type fd (line 174) | struct fd
  type inode (line 175) | struct inode
  type fd (line 175) | struct fd
  type inode (line 176) | struct inode
  type inode (line 177) | struct inode
  type fd (line 177) | struct fd
  type inode (line 178) | struct inode
  type inode (line 179) | struct inode
  type superblock (line 180) | struct superblock
  type inode (line 186) | struct inode
  type fd (line 186) | struct fd
  type inode (line 187) | struct inode
  type fd (line 187) | struct fd
  type inode (line 188) | struct inode
  type fd (line 188) | struct fd
  type inode (line 189) | struct inode
  type fd (line 189) | struct fd
  type dirent (line 189) | struct dirent
  type inode (line 190) | struct inode
  type inode (line 190) | struct inode
  type inode (line 191) | struct inode
  type superblock (line 192) | struct superblock
  type statfs (line 192) | struct statfs
  type inode (line 193) | struct inode
  type inode (line 194) | struct inode
  type superblock (line 195) | struct superblock

FILE: include/fiwix/floppy.h
  type fddt (line 75) | struct fddt {
  type sigcontext (line 89) | struct sigcontext
  type inode (line 92) | struct inode
  type fd (line 92) | struct fd
  type inode (line 93) | struct inode
  type fd (line 93) | struct fd
  type inode (line 96) | struct inode
  type fd (line 96) | struct fd
  type inode (line 97) | struct inode

FILE: include/fiwix/font.h
  type fbcon_font_desc (line 11) | struct fbcon_font_desc {
  type fbcon_font_desc (line 19) | struct fbcon_font_desc
  type fbcon_font_desc (line 20) | struct fbcon_font_desc
  type fbcon_font_desc (line 21) | struct fbcon_font_desc
  type fbcon_font_desc (line 23) | struct fbcon_font_desc

FILE: include/fiwix/fs.h
  type inode (line 65) | struct inode {
  type inode (line 103) | struct inode
  type inode (line 104) | struct inode
  type superblock (line 112) | struct superblock {
  type fs_operations (line 134) | struct fs_operations {
  type fs_operations (line 181) | struct fs_operations
  type fs_operations (line 182) | struct fs_operations
  type fs_operations (line 185) | struct fs_operations
  type fs_operations (line 186) | struct fs_operations
  type fs_operations (line 187) | struct fs_operations
  type fs_operations (line 188) | struct fs_operations
  type superblock (line 189) | struct superblock
  type superblock (line 190) | struct superblock
  type superblock (line 191) | struct superblock
  type superblock (line 192) | struct superblock
  type superblock (line 193) | struct superblock
  type superblock (line 194) | struct superblock
  type fs_operations (line 197) | struct fs_operations
  type fs_operations (line 198) | struct fs_operations
  type fs_operations (line 199) | struct fs_operations
  type fs_operations (line 200) | struct fs_operations
  type superblock (line 201) | struct superblock
  type superblock (line 202) | struct superblock
  type fs_operations (line 205) | struct fs_operations
  type fs_operations (line 206) | struct fs_operations
  type fs_operations (line 207) | struct fs_operations
  type fs_operations (line 208) | struct fs_operations
  type procfs_dir_entry (line 209) | struct procfs_dir_entry
  type inode (line 209) | struct inode
  type fs_operations (line 218) | struct fs_operations
  type fs_operations (line 219) | struct fs_operations
  type fs_operations (line 220) | struct fs_operations
  type fs_operations (line 221) | struct fs_operations
  type iso9660_directory_record (line 222) | struct iso9660_directory_record
  type inode (line 222) | struct inode
  type iso9660_directory_record (line 223) | struct iso9660_directory_record
  type inode (line 223) | struct inode
  type inode (line 224) | struct inode
  type fs_operations (line 227) | struct fs_operations
  type fs_operations (line 228) | struct fs_operations
  type inode (line 232) | struct inode
  type inode (line 233) | struct inode
  type inode (line 234) | struct inode
  type superblock (line 234) | struct superblock
  type inode (line 235) | struct inode
  type superblock (line 235) | struct superblock
  type inode (line 236) | struct inode
  type inode (line 237) | struct inode
  type inode (line 238) | struct inode
  type inode (line 243) | struct inode
  type inode (line 243) | struct inode
  type inode (line 243) | struct inode
  type inode (line 244) | struct inode
  type inode (line 244) | struct inode
  type superblock (line 246) | struct superblock
  type superblock (line 247) | struct superblock
  type mount (line 248) | struct mount
  type mount (line 249) | struct mount
  type mount (line 250) | struct mount
  type inode (line 250) | struct inode
  type inode (line 252) | struct inode
  type inode (line 260) | struct inode
  type inode (line 261) | struct inode
  type inode (line 263) | struct inode

FILE: include/fiwix/fs_devpts.h
  type fs_operations (line 20) | struct fs_operations
  type devpts_files (line 22) | struct devpts_files {
  type devpts_files (line 26) | struct devpts_files

FILE: include/fiwix/fs_ext2.h
  type ext2_group_desc (line 32) | struct ext2_group_desc
  type ext2_inode (line 64) | struct ext2_inode {
  type ext2_super_block (line 127) | struct ext2_super_block {
  type ext2_dir_entry (line 204) | struct ext2_dir_entry {
  type ext2_dir_entry_2 (line 227) | struct ext2_dir_entry_2 {
  type ext2_sb_info (line 249) | struct ext2_sb_info {
  type ext2_i_info (line 256) | struct ext2_i_info {

FILE: include/fiwix/fs_iso9660.h
  type iso9660_super_block (line 69) | struct iso9660_super_block {
  type iso9660_directory_record (line 105) | struct iso9660_directory_record
  type iso9660_pathtable_record (line 120) | struct iso9660_pathtable_record
  type susp_sp (line 129) | struct susp_sp {
  type susp_ce (line 134) | struct susp_ce {
  type susp_er (line 140) | struct susp_er {
  type rrip_px (line 148) | struct rrip_px {
  type rrip_pn (line 156) | struct rrip_pn {
  type rrip_sl_component (line 161) | struct rrip_sl_component {
  type rrip_sl (line 167) | struct rrip_sl {
  type rrip_nm (line 172) | struct rrip_nm {
  type rrip_tf_timestamp (line 177) | struct rrip_tf_timestamp {
  type rrip_tf (line 181) | struct rrip_tf {
  type susp_rrip (line 186) | struct susp_rrip {
  type iso9660_inode (line 202) | struct iso9660_inode {
  type iso9660_sb_info (line 207) | struct iso9660_sb_info {

FILE: include/fiwix/fs_minix.h
  type minix_super_block (line 59) | struct minix_super_block {
  type minix_inode (line 72) | struct minix_inode {
  type minix2_inode (line 82) | struct minix2_inode {
  type minix_dir_entry (line 94) | struct minix_dir_entry {
  type minix_sb_info (line 100) | struct minix_sb_info {
  type minix_i_info (line 109) | struct minix_i_info {
  type inode (line 116) | struct inode
  type inode (line 117) | struct inode
  type inode (line 118) | struct inode
  type inode (line 119) | struct inode
  type inode (line 120) | struct inode
  type inode (line 121) | struct inode
  type inode (line 123) | struct inode
  type inode (line 124) | struct inode
  type inode (line 125) | struct inode
  type inode (line 126) | struct inode
  type inode (line 127) | struct inode
  type inode (line 128) | struct inode

FILE: include/fiwix/fs_pipe.h
  type fs_operations (line 11) | struct fs_operations
  type pipefs_inode (line 13) | struct pipefs_inode {

FILE: include/fiwix/fs_proc.h
  type pid_dir_inodes (line 25) | enum pid_dir_inodes {
  type procfs_inode (line 39) | struct procfs_inode {
  type procfs_dir_entry (line 43) | struct procfs_dir_entry {
  type procfs_dir_entry (line 53) | struct procfs_dir_entry
  type fs_operations (line 54) | struct fs_operations

FILE: include/fiwix/fs_sock.h
  type fs_operations (line 15) | struct fs_operations
  type sockfs_inode (line 17) | struct sockfs_inode {

FILE: include/fiwix/i386elf.h
  type Elf32_Addr (line 8) | typedef unsigned long	Elf32_Addr;
  type Elf32_Half (line 9) | typedef unsigned short	Elf32_Half;
  type Elf32_Off (line 10) | typedef unsigned long	Elf32_Off;
  type Elf32_Sword (line 11) | typedef long		Elf32_Sword;
  type Elf32_Word (line 12) | typedef unsigned long	Elf32_Word;
  type Elf32_Ehdr (line 23) | typedef struct elf32_hdr{
  type Elf32_Phdr (line 74) | typedef struct elf32_phdr{
  type Elf32_Shdr (line 104) | typedef struct {
  type Elf32_Sym (line 151) | typedef struct elf32_sym{
  type Elf32_Rel (line 176) | typedef struct elf32_rel {
  type Elf32_Rela (line 181) | typedef struct elf32_rela{
  type Elf32_Dyn (line 238) | typedef struct dynamic{
  type Elf32_Nhdr (line 266) | typedef struct elf32_note {
  type elf32_hdr (line 280) | struct elf32_hdr

FILE: include/fiwix/ipc.h
  type key_t (line 41) | typedef int key_t;
  type sysvipc_args (line 43) | struct sysvipc_args {
  type ipc_perm (line 52) | struct ipc_perm {
  type resource (line 62) | struct resource
  type ipc_perm (line 65) | struct ipc_perm

FILE: include/fiwix/irq.h
  type interrupt (line 15) | struct interrupt {
  type interrupt (line 21) | struct interrupt
  type bh (line 26) | struct bh {
  type bh (line 32) | struct bh
  type interrupt (line 33) | struct interrupt
  type interrupt (line 34) | struct interrupt
  type sigcontext (line 35) | struct sigcontext
  type sigcontext (line 37) | struct sigcontext

FILE: include/fiwix/kd.h
  type consolefontdesc (line 15) | struct consolefontdesc {
  type scrnmap_t (line 55) | typedef char scrnmap_t;
  type unipair (line 63) | struct unipair {
  type unimapdesc (line 67) | struct unimapdesc {
  type unimapinit (line 73) | struct unimapinit {
  type kbentry (line 100) | struct kbentry {
  type kbsentry (line 113) | struct kbsentry {
  type kbdiacr (line 120) | struct kbdiacr {
  type kbdiacrs (line 123) | struct kbdiacrs {
  type kbkeycode (line 130) | struct kbkeycode {
  type kbd_repeat (line 138) | struct kbd_repeat {
  type console_font_op (line 148) | struct console_font_op {

FILE: include/fiwix/kernel.h
  type kernel_stat (line 68) | struct kernel_stat {
  type kernel_stat (line 110) | struct kernel_stat

FILE: include/fiwix/keyboard.h
  type diacritic (line 144) | struct diacritic {
  type sigcontext (line 152) | struct sigcontext
  type sigcontext (line 153) | struct sigcontext

FILE: include/fiwix/kparms.h
  type kernel_params (line 19) | struct kernel_params {
  type kernel_params (line 33) | struct kernel_params
  type kernel_params_value (line 35) | struct kernel_params_value {

FILE: include/fiwix/linuxboot.h
  type screen_info (line 10) | struct screen_info {
  type setup_header (line 24) | struct setup_header {
  type bios_mem_entry (line 42) | struct bios_mem_entry {
  type boot_params (line 51) | struct boot_params {

FILE: include/fiwix/locks.h
  type flock_file (line 15) | struct flock_file {
  type flock_file (line 23) | struct flock_file
  type flock (line 25) | struct flock
  type inode (line 26) | struct inode
  type inode (line 27) | struct inode

FILE: include/fiwix/lp.h
  type lp (line 35) | struct lp {
  type inode (line 42) | struct inode
  type fd (line 42) | struct fd
  type inode (line 43) | struct inode
  type fd (line 43) | struct fd
  type inode (line 44) | struct inode
  type fd (line 44) | struct fd

FILE: include/fiwix/memdev.h
  type inode (line 24) | struct inode
  type fd (line 24) | struct fd
  type inode (line 25) | struct inode
  type fd (line 25) | struct fd
  type inode (line 26) | struct inode
  type fd (line 26) | struct fd
  type inode (line 27) | struct inode
  type fd (line 27) | struct fd
  type inode (line 28) | struct inode
  type inode (line 30) | struct inode
  type fd (line 30) | struct fd
  type inode (line 31) | struct inode
  type fd (line 31) | struct fd
  type inode (line 32) | struct inode
  type fd (line 32) | struct fd
  type inode (line 33) | struct inode
  type fd (line 33) | struct fd
  type inode (line 34) | struct inode
  type inode (line 36) | struct inode
  type fd (line 36) | struct fd
  type inode (line 37) | struct inode
  type fd (line 37) | struct fd
  type inode (line 38) | struct inode
  type fd (line 38) | struct fd
  type inode (line 39) | struct inode
  type fd (line 39) | struct fd
  type inode (line 40) | struct inode
  type inode (line 42) | struct inode
  type fd (line 42) | struct fd
  type inode (line 43) | struct inode
  type fd (line 43) | struct fd
  type inode (line 44) | struct inode
  type fd (line 44) | struct fd
  type inode (line 45) | struct inode
  type fd (line 45) | struct fd
  type inode (line 46) | struct inode
  type inode (line 48) | struct inode
  type fd (line 48) | struct fd
  type inode (line 49) | struct inode
  type fd (line 49) | struct fd
  type inode (line 50) | struct inode
  type fd (line 50) | struct fd
  type inode (line 51) | struct inode
  type fd (line 51) | struct fd
  type inode (line 52) | struct inode
  type inode (line 54) | struct inode
  type fd (line 54) | struct fd
  type inode (line 55) | struct inode
  type fd (line 55) | struct fd
  type inode (line 56) | struct inode
  type fd (line 56) | struct fd
  type inode (line 57) | struct inode
  type fd (line 57) | struct fd
  type inode (line 58) | struct inode
  type inode (line 60) | struct inode
  type fd (line 60) | struct fd
  type inode (line 61) | struct inode
  type fd (line 61) | struct fd
  type inode (line 62) | struct inode
  type fd (line 62) | struct fd
  type inode (line 63) | struct inode
  type fd (line 63) | struct fd
  type inode (line 64) | struct inode
  type inode (line 66) | struct inode
  type fd (line 66) | struct fd
  type inode (line 67) | struct inode
  type vma (line 67) | struct vma

FILE: include/fiwix/mm.h
  type page (line 39) | struct page {
  type page (line 53) | struct page
  type page (line 54) | struct page
  type bl_head (line 75) | struct bl_head {
  type page (line 90) | struct page
  type page (line 91) | struct page
  type page (line 92) | struct page
  type page (line 93) | struct page
  type inode (line 93) | struct inode
  type page (line 94) | struct page
  type inode (line 96) | struct inode
  type inode (line 97) | struct inode
  type page (line 98) | struct page
  type inode (line 98) | struct inode
  type page (line 99) | struct page
  type inode (line 99) | struct inode
  type inode (line 100) | struct inode
  type fd (line 100) | struct fd
  type proc (line 108) | struct proc
  type proc (line 109) | struct proc
  type proc (line 110) | struct proc
  type proc (line 111) | struct proc
  type proc (line 112) | struct proc

FILE: include/fiwix/mman.h
  type mmap (line 51) | struct mmap {
  type proc (line 60) | struct proc
  type vma (line 61) | struct vma
  type vma (line 63) | struct vma
  type vma (line 64) | struct vma
  type inode (line 67) | struct inode
  type vma (line 69) | struct vma

FILE: include/fiwix/msg.h
  type msqid_ds (line 25) | struct msqid_ds {
  type msgbuf (line 42) | struct msgbuf {
  type msginfo (line 48) | struct msginfo {
  type msg (line 60) | struct msg {
  type msqid_ds (line 68) | struct msqid_ds
  type msqid_ds (line 75) | struct msqid_ds
  type msqid_ds (line 76) | struct msqid_ds
  type msg (line 77) | struct msg
  type msg (line 78) | struct msg
  type msqid_ds (line 82) | struct msqid_ds

FILE: include/fiwix/multiboot1.h
  type multiboot_uint8_t (line 94) | typedef unsigned char           multiboot_uint8_t;
  type multiboot_uint16_t (line 95) | typedef unsigned short          multiboot_uint16_t;
  type multiboot_uint32_t (line 96) | typedef unsigned int            multiboot_uint32_t;
  type multiboot_uint64_t (line 97) | typedef unsigned long long      multiboot_uint64_t;
  type multiboot_header (line 99) | struct multiboot_header
  type multiboot_aout_symbol_table (line 125) | struct multiboot_aout_symbol_table
  type multiboot_aout_symbol_table_t (line 132) | typedef struct multiboot_aout_symbol_table multiboot_aout_symbol_table_t;
  type multiboot_elf_section_header_table (line 135) | struct multiboot_elf_section_header_table
  type multiboot_elf_section_header_table_t (line 142) | typedef struct multiboot_elf_section_header_table multiboot_elf_section_...
  type multiboot_info (line 144) | struct multiboot_info
  type multiboot_info_t (line 221) | typedef struct multiboot_info multiboot_info_t;
  type multiboot_color (line 223) | struct multiboot_color
  type multiboot_mmap_entry (line 230) | struct multiboot_mmap_entry
  type multiboot_memory_map_t (line 242) | typedef struct multiboot_mmap_entry multiboot_memory_map_t;
  type multiboot_mod_list (line 244) | struct multiboot_mod_list
  type multiboot_module_t (line 256) | typedef struct multiboot_mod_list multiboot_module_t;
  type multiboot_apm_info (line 259) | struct multiboot_apm_info
  type vbe_controller (line 273) | struct vbe_controller
  type vbe_mode (line 290) | struct vbe_mode

FILE: include/fiwix/net.h
  type socklen_t (line 35) | typedef unsigned int	socklen_t;
  type socket (line 37) | struct socket {
  type domain_table (line 54) | struct domain_table {
  type proto_ops (line 60) | struct proto_ops {
  type socket (line 83) | struct socket
  type socket (line 85) | struct socket
  type socket (line 85) | struct socket
  type socket (line 86) | struct socket
  type socket (line 86) | struct socket
  type socket (line 87) | struct socket
  type socket (line 88) | struct socket
  type sockaddr (line 90) | struct sockaddr
  type sockaddr (line 92) | struct sockaddr
  type sockaddr (line 93) | struct sockaddr
  type sockaddr (line 94) | struct sockaddr
  type sockaddr (line 98) | struct sockaddr
  type sockaddr (line 99) | struct sockaddr

FILE: include/fiwix/net/ipv4.h
  type ipv4_info (line 16) | struct ipv4_info {
  type ipv4_info (line 22) | struct ipv4_info
  type proto_ops (line 24) | struct proto_ops
  type socket (line 26) | struct socket
  type socket (line 27) | struct socket
  type socket (line 28) | struct socket
  type sockaddr (line 28) | struct sockaddr
  type socket (line 29) | struct socket
  type socket (line 30) | struct socket
  type sockaddr (line 30) | struct sockaddr
  type socket (line 31) | struct socket
  type sockaddr (line 31) | struct sockaddr
  type socket (line 32) | struct socket
  type sockaddr (line 32) | struct sockaddr
  type socket (line 33) | struct socket
  type socket (line 33) | struct socket
  type socket (line 34) | struct socket
  type fd (line 34) | struct fd
  type socket (line 35) | struct socket
  type fd (line 35) | struct fd
  type socket (line 36) | struct socket
  type fd (line 36) | struct fd
  type sockaddr (line 36) | struct sockaddr
  type socket (line 37) | struct socket
  type fd (line 37) | struct fd
  type sockaddr (line 37) | struct sockaddr
  type socket (line 38) | struct socket
  type fd (line 38) | struct fd
  type socket (line 39) | struct socket
  type fd (line 39) | struct fd
  type socket (line 40) | struct socket
  type fd (line 40) | struct fd
  type socket (line 41) | struct socket
  type socket (line 42) | struct socket
  type socket (line 43) | struct socket
  type socket (line 44) | struct socket

FILE: include/fiwix/net/packet.h
  type packet (line 15) | struct packet {
  type packet (line 24) | struct packet
  type packet (line 24) | struct packet
  type packet (line 25) | struct packet
  type packet (line 25) | struct packet
  type packet (line 26) | struct packet
  type packet (line 26) | struct packet

FILE: include/fiwix/net/unix.h
  type unix_info (line 17) | struct unix_info {
  type unix_info (line 32) | struct unix_info
  type proto_ops (line 34) | struct proto_ops
  type socket (line 36) | struct socket
  type socket (line 37) | struct socket
  type socket (line 38) | struct socket
  type sockaddr (line 38) | struct sockaddr
  type socket (line 39) | struct socket
  type socket (line 40) | struct socket
  type sockaddr (line 40) | struct sockaddr
  type socket (line 41) | struct socket
  type sockaddr (line 41) | struct sockaddr
  type socket (line 42) | struct socket
  type sockaddr (line 42) | struct sockaddr
  type socket (line 43) | struct socket
  type socket (line 43) | struct socket
  type socket (line 44) | struct socket
  type fd (line 44) | struct fd
  type socket (line 45) | struct socket
  type fd (line 45) | struct fd
  type socket (line 46) | struct socket
  type fd (line 46) | struct fd
  type sockaddr (line 46) | struct sockaddr
  type socket (line 47) | struct socket
  type fd (line 47) | struct fd
  type sockaddr (line 47) | struct sockaddr
  type socket (line 48) | struct socket
  type fd (line 48) | struct fd
  type socket (line 49) | struct socket
  type fd (line 49) | struct fd
  type socket (line 50) | struct socket
  type fd (line 50) | struct fd
  type socket (line 51) | struct socket
  type socket (line 52) | struct socket
  type socket (line 53) | struct socket
  type socket (line 54) | struct socket

FILE: include/fiwix/part.h
  type hd_geometry (line 16) | struct hd_geometry {
  type partition (line 23) | struct partition {
  type partition (line 36) | struct partition

FILE: include/fiwix/pci.h
  type pci_supported_devices (line 88) | struct pci_supported_devices {
  type pci_device (line 93) | struct pci_device {
  type pci_device (line 120) | struct pci_device
  type pci_device (line 122) | struct pci_device
  type pci_device (line 123) | struct pci_device
  type pci_device (line 124) | struct pci_device
  type pci_device (line 125) | struct pci_device
  type pci_device (line 126) | struct pci_device
  type pci_device (line 127) | struct pci_device
  type pci_device (line 128) | struct pci_device

FILE: include/fiwix/process.h
  type vma (line 11) | struct vma {
  type proc (line 62) | struct proc
  type binargs (line 64) | struct binargs {
  type i386tss (line 74) | struct i386tss {
  type proc (line 105) | struct proc {
  type proc (line 169) | struct proc
  type proc (line 170) | struct proc
  type proc (line 172) | struct proc
  type proc (line 173) | struct proc
  type proc (line 175) | struct proc
  type rusage (line 175) | struct rusage
  type proc (line 176) | struct proc
  type rusage (line 176) | struct rusage
  type proc (line 177) | struct proc
  type proc (line 178) | struct proc
  type proc (line 178) | struct proc
  type proc (line 179) | struct proc
  type proc (line 181) | struct proc
  type proc (line 182) | struct proc
  type proc (line 184) | struct proc
  type proc (line 186) | struct proc
  type proc (line 187) | struct proc
  type inode (line 190) | struct inode
  type binargs (line 190) | struct binargs
  type sigcontext (line 190) | struct sigcontext

FILE: include/fiwix/psaux.h
  type psaux (line 22) | struct psaux {
  type psaux (line 27) | struct psaux
  type inode (line 29) | struct inode
  type fd (line 29) | struct fd
  type inode (line 30) | struct inode
  type fd (line 30) | struct fd
  type inode (line 31) | struct inode
  type fd (line 31) | struct fd
  type inode (line 32) | struct inode
  type fd (line 32) | struct fd
  type inode (line 33) | struct inode
  type fd (line 33) | struct fd
  type sigcontext (line 35) | struct sigcontext

FILE: include/fiwix/pty.h
  type tty (line 19) | struct tty
  type tty (line 20) | struct tty
  type tty (line 21) | struct tty
  type inode (line 22) | struct inode
  type fd (line 22) | struct fd
  type inode (line 23) | struct inode
  type fd (line 23) | struct fd
  type tty (line 24) | struct tty
  type fd (line 24) | struct fd
  type inode (line 25) | struct inode
  type fd (line 25) | struct fd

FILE: include/fiwix/ramdisk.h
  type ramdisk (line 16) | struct ramdisk {
  type ramdisk (line 22) | struct ramdisk
  type inode (line 24) | struct inode
  type fd (line 24) | struct fd
  type inode (line 25) | struct inode
  type fd (line 25) | struct fd
  type inode (line 28) | struct inode
  type fd (line 28) | struct fd
  type inode (line 29) | struct inode

FILE: include/fiwix/resource.h
  type rusage (line 36) | struct rusage {
  type rlimit (line 76) | struct rlimit {

FILE: include/fiwix/sched.h
  type proc (line 52) | struct proc

FILE: include/fiwix/segments.h
  type desc_r (line 56) | struct desc_r {
  type seg_desc (line 61) | struct seg_desc {
  type gate_desc (line 70) | struct gate_desc {

FILE: include/fiwix/sem.h
  type semid_ds (line 34) | struct semid_ds {
  type sembuf (line 46) | struct sembuf {
  type semid_ds (line 55) | struct semid_ds
  type seminfo (line 57) | struct seminfo
  type seminfo (line 61) | struct seminfo {
  type sem (line 75) | struct sem {
  type sem_undo (line 83) | struct sem_undo {
  type semid_ds (line 92) | struct semid_ds
  type semid_ds (line 99) | struct semid_ds
  type semid_ds (line 100) | struct semid_ds
  type sem (line 101) | struct sem
  type sem (line 102) | struct sem
  type sem_undo (line 103) | struct sem_undo
  type sem_undo (line 104) | struct sem_undo
  type sembuf (line 106) | struct sembuf

FILE: include/fiwix/serial.h
  type serial (line 97) | struct serial {
  type tty (line 109) | struct tty
  type tty (line 110) | struct tty
  type tty (line 111) | struct tty
  type tty (line 112) | struct tty
  type sigcontext (line 113) | struct sigcontext
  type sigcontext (line 114) | struct sigcontext

FILE: include/fiwix/shm.h
  type shmid_ds (line 44) | struct shmid_ds {
  type shminfo (line 59) | struct shminfo {
  type shm_info (line 67) | struct shm_info {
  type shmid_ds (line 76) | struct shmid_ds
  type shmid_ds (line 84) | struct shmid_ds
  type shmid_ds (line 85) | struct shmid_ds
  type vma (line 87) | struct vma
  type shmid_ds (line 87) | struct shmid_ds
  type vma (line 88) | struct vma
  type vma (line 89) | struct vma
  type shmid_ds (line 93) | struct shmid_ds

FILE: include/fiwix/sigcontext.h
  type sigcontext (line 11) | struct sigcontext {

FILE: include/fiwix/signal.h
  type __sigset_t (line 47) | typedef unsigned int __sigset_t;
  type sigaction (line 50) | struct sigaction {

FILE: include/fiwix/sleep.h
  type proc (line 18) | struct proc
  type resource (line 20) | struct resource {
  type proc (line 25) | struct proc
  type proc (line 26) | struct proc
  type proc (line 29) | struct proc
  type resource (line 31) | struct resource
  type resource (line 32) | struct resource

FILE: include/fiwix/socket.h
  type sa_family_t (line 45) | typedef unsigned short int sa_family_t;
  type sockaddr (line 49) | struct sockaddr {
  type sockaddr_un (line 55) | struct sockaddr_un {

FILE: include/fiwix/statbuf.h
  type old_stat (line 11) | struct old_stat {
  type new_stat (line 25) | struct new_stat {
  type stat64 (line 48) | struct stat64 {

FILE: include/fiwix/statfs.h
  type fsid_t (line 11) | typedef struct {
  type statfs (line 15) | struct statfs {

FILE: include/fiwix/stdio.h
  type tty (line 13) | struct tty

FILE: include/fiwix/syscalls.h
  type sigcontext (line 31) | struct sigcontext
  type sigcontext (line 33) | struct sigcontext
  type sigcontext (line 39) | struct sigcontext
  type sigcontext (line 41) | struct sigcontext
  type sigcontext (line 52) | struct sigcontext
  type sigcontext (line 54) | struct sigcontext
  type old_stat (line 61) | struct old_stat
  type old_stat (line 70) | struct old_stat
  type utimbuf (line 72) | struct utimbuf
  type timeb (line 74) | struct timeb
  type tms (line 82) | struct tms
  type oldold_utsname (line 93) | struct oldold_utsname
  type ustat (line 96) | struct ustat
  type sigaction (line 101) | struct sigaction
  type sigaction (line 101) | struct sigaction
  type rlimit (line 109) | struct rlimit
  type rlimit (line 110) | struct rlimit
  type rusage (line 111) | struct rusage
  type timeval (line 112) | struct timeval
  type timezone (line 112) | struct timezone
  type timeval (line 113) | struct timeval
  type timezone (line 113) | struct timezone
  type old_stat (line 118) | struct old_stat
  type mmap (line 121) | struct mmap
  type statfs (line 127) | struct statfs
  type statfs (line 128) | struct statfs
  type itimerval (line 132) | struct itimerval
  type itimerval (line 132) | struct itimerval
  type itimerval (line 133) | struct itimerval
  type new_stat (line 134) | struct new_stat
  type new_stat (line 135) | struct new_stat
  type new_stat (line 136) | struct new_stat
  type old_utsname (line 137) | struct old_utsname
  type sigcontext (line 139) | struct sigcontext
  type sigcontext (line 141) | struct sigcontext
  type rusage (line 143) | struct rusage
  type sysinfo (line 144) | struct sysinfo
  type sysvipc_args (line 146) | struct sysvipc_args
  type sigcontext (line 150) | struct sigcontext
  type sigcontext (line 152) | struct sigcontext
  type new_utsname (line 155) | struct new_utsname
  type dirent (line 164) | struct dirent
  type timeval (line 165) | struct timeval
  type iovec (line 167) | struct iovec
  type iovec (line 168) | struct iovec
  type timespec (line 171) | struct timespec
  type timespec (line 171) | struct timespec
  type stat64 (line 179) | struct stat64
  type stat64 (line 180) | struct stat64
  type stat64 (line 181) | struct stat64
  type dirent64 (line 183) | struct dirent64
  type timeval (line 185) | struct timeval

FILE: include/fiwix/sysconsole.h
  type sysconsole (line 15) | struct sysconsole {
  type sysconsole (line 20) | struct sysconsole
  type tty (line 23) | struct tty

FILE: include/fiwix/system.h
  type sysinfo (line 16) | struct sysinfo {

FILE: include/fiwix/termbits.h
  type tcflag_t (line 16) | typedef unsigned int tcflag_t;
  type cc_t (line 19) | typedef unsigned char cc_t;
  type speed_t (line 22) | typedef int speed_t;

FILE: include/fiwix/termios.h
  type winsize (line 13) | struct winsize {
  type termio (line 24) | struct termio {
  type termios (line 37) | struct termios {

FILE: include/fiwix/time.h
  type timespec (line 15) | struct timespec {
  type timeval (line 20) | struct timeval {
  type timezone (line 25) | struct timezone {
  type itimerval (line 30) | struct itimerval {
  type tm (line 35) | struct tm {
  type timeval (line 47) | struct timeval
  type timeval (line 48) | struct timeval
  type itimerval (line 49) | struct itimerval
  type itimerval (line 49) | struct itimerval
  type tm (line 50) | struct tm

FILE: include/fiwix/timeb.h
  type timeb (line 11) | struct timeb {

FILE: include/fiwix/timer.h
  type callout (line 29) | struct callout {
  type callout_req (line 36) | struct callout_req {
  type callout_req (line 41) | struct callout_req
  type callout_req (line 42) | struct callout_req
  type sigcontext (line 43) | struct sigcontext
  type sigcontext (line 44) | struct sigcontext
  type sigcontext (line 45) | struct sigcontext

FILE: include/fiwix/times.h
  type tms (line 11) | struct tms {

FILE: include/fiwix/traps.h
  type traps (line 15) | struct traps {
  type sigcontext (line 21) | struct sigcontext
  type sigcontext (line 22) | struct sigcontext
  type sigcontext (line 23) | struct sigcontext
  type sigcontext (line 24) | struct sigcontext
  type sigcontext (line 25) | struct sigcontext
  type sigcontext (line 26) | struct sigcontext
  type sigcontext (line 27) | struct sigcontext
  type sigcontext (line 28) | struct sigcontext
  type sigcontext (line 29) | struct sigcontext
  type sigcontext (line 30) | struct sigcontext
  type sigcontext (line 31) | struct sigcontext
  type sigcontext (line 32) | struct sigcontext
  type sigcontext (line 33) | struct sigcontext
  type sigcontext (line 34) | struct sigcontext
  type sigcontext (line 35) | struct sigcontext
  type sigcontext (line 36) | struct sigcontext
  type sigcontext (line 37) | struct sigcontext
  type sigcontext (line 38) | struct sigcontext
  type sigcontext (line 39) | struct sigcontext
  type sigcontext (line 40) | struct sigcontext
  type sigcontext (line 42) | struct sigcontext
  type sigcontext (line 46) | struct sigcontext

FILE: include/fiwix/tty.h
  type kbd_state (line 26) | struct kbd_state {
  type tty (line 30) | struct tty {
  type tty (line 60) | struct tty
  type tty (line 62) | struct tty
  type tty (line 63) | struct tty
  type tty (line 64) | struct tty
  type tty (line 65) | struct tty
  type tty (line 66) | struct tty
  type tty (line 67) | struct tty
  type tty (line 68) | struct tty
  type tty (line 69) | struct tty
  type inode (line 70) | struct inode
  type fd (line 70) | struct fd
  type inode (line 71) | struct inode
  type fd (line 71) | struct fd
  type inode (line 72) | struct inode
  type fd (line 72) | struct fd
  type inode (line 73) | struct inode
  type fd (line 73) | struct fd
  type inode (line 74) | struct inode
  type fd (line 74) | struct fd
  type inode (line 75) | struct inode
  type inode (line 76) | struct inode
  type fd (line 76) | struct fd
  type tty (line 79) | struct tty

FILE: include/fiwix/types.h
  type __signed__ (line 11) | typedef __signed__ char __s8;
  type __u8 (line 12) | typedef unsigned char __u8;
  type __s16 (line 13) | typedef __signed__ short int __s16;
  type __u16 (line 14) | typedef unsigned short int __u16;
  type __signed__ (line 15) | typedef __signed__ int __s32;
  type __u32 (line 16) | typedef unsigned int __u32;
  type __s64 (line 17) | typedef __signed__ long long int __s64;
  type __u64 (line 18) | typedef unsigned long long int __u64;
  type __u16 (line 20) | typedef __u16 __uid_t;
  type __u16 (line 21) | typedef __u16 __gid_t;
  type __u32 (line 22) | typedef __u32 __ino_t;
  type __u64 (line 23) | typedef __u64 __ino64_t;
  type __u16 (line 24) | typedef __u16 __mode_t;
  type __u16 (line 25) | typedef __u16 __nlink_t;
  type __u32 (line 26) | typedef __u32 __off_t;
  type __s32 (line 27) | typedef __s32 __pid_t;
  type __s32 (line 28) | typedef __s32 __ssize_t;
  type __u32 (line 29) | typedef __u32 __size_t;
  type __u32 (line 30) | typedef __u32 __clock_t;
  type __u32 (line 31) | typedef __u32 __time_t;
  type __u16 (line 32) | typedef __u16 __dev_t;
  type __u16 (line 33) | typedef __u16 __key_t;
  type __s32 (line 34) | typedef __s32 __blk_t;
  type __s32 (line 35) | typedef __s32 __daddr_t;
  type __s64 (line 36) | typedef __s64 __loff_t;
  type fd_set (line 47) | typedef struct {
  type iovec (line 52) | struct iovec {

FILE: include/fiwix/ustat.h
  type ustat (line 13) | struct ustat {

FILE: include/fiwix/utime.h
  type utimbuf (line 13) | struct utimbuf {

FILE: include/fiwix/utsname.h
  type oldold_utsname (line 37) | struct oldold_utsname
  type old_utsname (line 47) | struct old_utsname
  type new_utsname (line 57) | struct new_utsname
  type new_utsname (line 75) | struct new_utsname

FILE: include/fiwix/vgacon.h
  type vconsole (line 35) | struct vconsole
  type vconsole (line 36) | struct vconsole
  type vconsole (line 37) | struct vconsole
  type vconsole (line 38) | struct vconsole
  type vconsole (line 39) | struct vconsole
  type vconsole (line 40) | struct vconsole
  type vconsole (line 41) | struct vconsole
  type vconsole (line 42) | struct vconsole
  type vconsole (line 43) | struct vconsole
  type vconsole (line 44) | struct vconsole
  type vconsole (line 45) | struct vconsole
  type vconsole (line 47) | struct vconsole

FILE: include/fiwix/vt.h
  type vt_mode (line 8) | struct vt_mode {
  type vt_stat (line 21) | struct vt_stat {
  type vt_sizes (line 35) | struct vt_sizes {
  type vt_consize (line 42) | struct vt_consize {

FILE: kernel/cmos.c
  function cmos_update_in_progress (line 11) | int cmos_update_in_progress(void)
  function cmos_read_date (line 16) | unsigned char cmos_read_date(unsigned char addr)
  function cmos_write_date (line 27) | void cmos_write_date(unsigned char addr, unsigned char value)
  function cmos_read (line 38) | unsigned char cmos_read(unsigned char addr)
  function cmos_write (line 49) | void cmos_write(unsigned char addr, unsigned char value)

FILE: kernel/cpu.c
  type cpu (line 19) | struct cpu
  type cpu_type (line 21) | struct cpu_type
  function detect_cpuspeed (line 46) | static unsigned int detect_cpuspeed(void)
  function show_cache (line 73) | static void show_cache(int value)
  function check_cache (line 151) | static void check_cache(int maxcpuid)
  function get_cpu_flags (line 185) | int get_cpu_flags(char *buffer)
  function cpu_init (line 200) | void cpu_init(void)

FILE: kernel/gdt.c
  type seg_desc (line 15) | struct seg_desc
  type desc_r (line 17) | struct desc_r
  function gdt_set_entry (line 22) | static void gdt_set_entry(int num, unsigned int base_addr, unsigned int ...
  function gdt_init (line 33) | void gdt_init(void)

FILE: kernel/idt.c
  type gate_desc (line 13) | struct gate_desc
  type desc_r (line 15) | struct desc_r
  function set_idt_entry (line 32) | static void set_idt_entry(int num, __off_t handler, unsigned int flags)
  function idt_init (line 40) | void idt_init(void)

FILE: kernel/init.c
  function init_trampoline (line 29) | static void init_trampoline(void)
  function init_init (line 40) | void init_init(void)

FILE: kernel/irq.c
  type interrupt (line 18) | struct interrupt
  type bh (line 19) | struct bh
  function register_irq (line 21) | int register_irq(int num, struct interrupt *new_irq)
  function unregister_irq (line 44) | int unregister_irq(int num, const struct interrupt *old_irq)
  function add_bh (line 73) | void add_bh(struct bh *new)
  function irq_handler (line 90) | void irq_handler(int num, struct sigcontext sc)
  function unknown_irq_handler (line 117) | void unknown_irq_handler(void)
  function do_bh (line 124) | void do_bh(struct sigcontext sc)
  function irq_init (line 140) | void irq_init(void)

FILE: kernel/kexec.c
  function _memcpy_b (line 32) | static void _memcpy_b(void *dest, const void *src, unsigned int count)
  function _memset_b (line 45) | static void _memset_b(void *dest, unsigned char value, unsigned int count)
  function multiboot1_trampoline (line 56) | static void multiboot1_trampoline(unsigned int ramdisk_addr, unsigned in...
  function kexec_multiboot1 (line 209) | void kexec_multiboot1(void)
  function linux_trampoline (line 308) | static void linux_trampoline(char *kernel_src_addr, unsigned int kernel_...
  function kexec_linux (line 474) | void kexec_linux(void)

FILE: kernel/main.c
  type kernel_params (line 37) | struct kernel_params
  type kernel_stat (line 38) | struct kernel_stat
  type new_utsname (line 41) | struct new_utsname
  function set_default_values (line 50) | static void set_default_values(void)
  function start_kernel (line 64) | void start_kernel(unsigned int magic, unsigned int info, unsigned int la...
  function stop_kernel (line 142) | void stop_kernel(void)
  function cpu_idle (line 189) | void cpu_idle(void)

FILE: kernel/multiboot.c
  type kernel_params_value (line 27) | struct kernel_params_value
  function check_param (line 106) | static int check_param(struct kernel_params_value *kpv, const char *value)
  function parse_arg (line 215) | static int parse_arg(const char *arg)
  function parse_bgaresolution (line 297) | static void parse_bgaresolution(void)
  function get_last_boot_addr (line 334) | unsigned int get_last_boot_addr(unsigned int magic, unsigned int info)
  function multiboot (line 385) | void multiboot(unsigned int magic, unsigned int info)

FILE: kernel/pic.c
  function pic_get_irq_reg (line 24) | static unsigned short int pic_get_irq_reg(int ocw3)
  function enable_irq (line 31) | void enable_irq(int irq)
  function disable_irq (line 41) | void disable_irq(int irq)
  function spurious_interrupt (line 51) | void spurious_interrupt(int irq)
  function ack_pic_irq (line 77) | void ack_pic_irq(int irq)
  function pic_init (line 85) | void pic_init(void)

FILE: kernel/pit.c
  function pit_beep_on (line 11) | void pit_beep_on(void)
  function pit_beep_off (line 19) | void pit_beep_off(unsigned int unused)
  function pit_getcounter0 (line 24) | int pit_getcounter0(void)
  function pit_init (line 35) | void pit_init(unsigned short int hertz)

FILE: kernel/process.c
  type proc (line 19) | struct proc
  type proc (line 20) | struct proc
  type proc (line 22) | struct proc
  type proc (line 23) | struct proc
  type proc (line 24) | struct proc
  type resource (line 27) | struct resource
  type resource (line 28) | struct resource
  function add_crusage (line 34) | void add_crusage(struct proc *p, struct rusage *cru)
  function get_rusage (line 64) | void get_rusage(struct proc *p, struct rusage *ru)
  function add_rusage (line 82) | void add_rusage(struct proc *p)
  type proc (line 115) | struct proc
  type proc (line 115) | struct proc
  type proc (line 117) | struct proc
  function FOR_EACH_PROCESS (line 119) | FOR_EACH_PROCESS(p) {
  function __pid_t (line 129) | __pid_t remove_zombie(struct proc *p)
  function is_orphaned_pgrp (line 152) | int is_orphaned_pgrp(__pid_t pgid)
  type proc (line 177) | struct proc
  type proc (line 179) | struct proc
  function release_proc (line 203) | void release_proc(struct proc *p)
  function get_unused_pid (line 229) | int get_unused_pid(void)
  type proc (line 262) | struct proc
  type proc (line 264) | struct proc
  function FOR_EACH_PROCESS (line 266) | FOR_EACH_PROCESS(p) {
  type proc (line 276) | struct proc
  type proc (line 278) | struct proc
  function proc_slot_init (line 303) | void proc_slot_init(struct proc *p)
  function proc_init (line 331) | void proc_init(void)

FILE: kernel/sched.c
  type seg_desc (line 19) | struct seg_desc
  function context_switch (line 22) | static void context_switch(struct proc *next)
  function set_tss (line 35) | void set_tss(struct proc *p)
  function do_sched (line 47) | void do_sched(void)
  function sched_init (line 84) | void sched_init(void)

FILE: kernel/signal.c
  function can_signal (line 22) | int can_signal(struct proc *p)
  function send_sig (line 31) | int send_sig(struct proc *p, __sigset_t signum)
  function issig (line 122) | int issig(void)
  function psig (line 156) | void psig(unsigned int stack)
  function kill_pid (line 245) | int kill_pid(__pid_t pid, __sigset_t signum, int sender)
  function kill_pgrp (line 263) | int kill_pgrp(__pid_t pgid, __sigset_t signum, int sender)

FILE: kernel/sleep.c
  type proc (line 21) | struct proc
  type proc (line 22) | struct proc
  function runnable (line 25) | void runnable(struct proc *p)
  function not_runnable (line 44) | void not_runnable(struct proc *p, int state)
  function sleep (line 63) | int sleep(void *address, int state)
  function wakeup (line 115) | void wakeup(void *address)
  function wakeup_proc (line 152) | void wakeup_proc(struct proc *p)
  function lock_resource (line 193) | void lock_resource(struct resource *resource)
  function unlock_resource (line 211) | void unlock_resource(struct resource *resource)
  function can_lock_area (line 224) | int can_lock_area(unsigned int type)
  function unlock_area (line 237) | int unlock_area(unsigned int type)
  function sleep_init (line 250) | void sleep_init(void)

FILE: kernel/syscalls.c
  function verify_address (line 20) | static int verify_address(int type, const void *addr, unsigned int size)
  function free_name (line 79) | void free_name(const char *name)
  function malloc_name (line 91) | int malloc_name(const char *string, char **name)
  function check_user_permission (line 116) | int check_user_permission(struct inode *i)
  function check_group (line 126) | int check_group(struct inode *i)
  function check_user_area (line 152) | int check_user_area(int type, const void *addr, unsigned int size)
  function check_permission (line 157) | int check_permission(int mask, struct inode *i)
  function do_bad_syscall (line 477) | static void do_bad_syscall(unsigned int num)
  type sigcontext (line 491) | struct sigcontext
  type sigcontext (line 493) | struct sigcontext

FILE: kernel/syscalls/access.c
  function sys_access (line 19) | int sys_access(const char *filename, __mode_t mode)

FILE: kernel/syscalls/alarm.c
  function sys_alarm (line 16) | int sys_alarm(unsigned int secs)

FILE: kernel/syscalls/brk.c
  function sys_brk (line 17) | int sys_brk(unsigned int brk)

FILE: kernel/syscalls/chdir.c
  function sys_chdir (line 18) | int sys_chdir(const char *dirname)

FILE: kernel/syscalls/chmod.c
  function sys_chmod (line 20) | int sys_chmod(const char *filename, __mode_t mode)

FILE: kernel/syscalls/chown.c
  function sys_chown (line 20) | int sys_chown(const char *filename, __uid_t owner, __gid_t group)

FILE: kernel/syscalls/chown32.c
  function sys_chown32 (line 21) | int sys_chown32(const char *filename, unsigned int owner, unsigned int g...

FILE: kernel/syscalls/chroot.c
  function sys_chroot (line 18) | int sys_chroot(const char *dirname)

FILE: kernel/syscalls/close.c
  function sys_close (line 14) | int sys_close(unsigned int ufd)

FILE: kernel/syscalls/creat.c
  function sys_creat (line 17) | int sys_creat(const char *filename, __mode_t mode)

FILE: kernel/syscalls/dup.c
  function sys_dup (line 17) | int sys_dup(unsigned int ufd)

FILE: kernel/syscalls/dup2.c
  function sys_dup2 (line 16) | int sys_dup2(unsigned int old_ufd, unsigned int new_ufd)

FILE: kernel/syscalls/execve.c
  function initialize_barg (line 21) | static int initialize_barg(struct binargs *barg, char *argv[], char *env...
  function free_barg_pages (line 49) | static void free_barg_pages(struct binargs *barg)
  function add_strings (line 60) | static int add_strings(struct binargs *barg, char *filename, char *inter...
  function copy_strings (line 172) | static int copy_strings(struct binargs *barg, char *argv[], char *envp[])
  function do_execve (line 240) | static int do_execve(const char *filename, char *argv[], char *envp[], s...
  type sigcontext (line 341) | struct sigcontext
  type sigcontext (line 343) | struct sigcontext

FILE: kernel/syscalls/exit.c
  function do_exit (line 23) | void do_exit(int exit_code)
  function sys_exit (line 115) | int sys_exit(int exit_code)

FILE: kernel/syscalls/fchdir.c
  function sys_fchdir (line 17) | int sys_fchdir(unsigned int ufd)

FILE: kernel/syscalls/fchmod.c
  function sys_fchmod (line 19) | int sys_fchmod(unsigned int ufd, __mode_t mode)

FILE: kernel/syscalls/fchown.c
  function sys_fchown (line 19) | int sys_fchown(unsigned int ufd, __uid_t owner, __gid_t group)

FILE: kernel/syscalls/fcntl.c
  function sys_fcntl (line 18) | int sys_fcntl(unsigned int ufd, int cmd, unsigned int arg)

FILE: kernel/syscalls/fcntl64.c
  function sys_fcntl64 (line 16) | int sys_fcntl64(unsigned int ufd, int cmd, unsigned int arg)

FILE: kernel/syscalls/fdatasync.c
  function sys_fdatasync (line 15) | int sys_fdatasync(int ufd)

FILE: kernel/syscalls/flock.c
  function sys_flock (line 17) | int sys_flock(unsigned int ufd, int op)

FILE: kernel/syscalls/fork.c
  function free_vma_table (line 21) | static void free_vma_table(struct proc *p)
  type sigcontext (line 34) | struct sigcontext
  function sys_fork (line 36) | int sys_fork(int arg1, int arg2, int arg3, int arg4, int arg5, struct si...

FILE: kernel/syscalls/fstat.c
  function sys_fstat (line 18) | int sys_fstat(unsigned int ufd, struct old_stat *statbuf)

FILE: kernel/syscalls/fstat64.c
  function sys_fstat64 (line 19) | int sys_fstat64(unsigned int ufd, struct stat64 *statbuf)

FILE: kernel/syscalls/fstatfs.c
  function sys_fstatfs (line 17) | int sys_fstatfs(unsigned int ufd, struct statfs *statfsbuf)

FILE: kernel/syscalls/fsync.c
  function sys_fsync (line 19) | int sys_fsync(unsigned int ufd)

FILE: kernel/syscalls/ftime.c
  function sys_ftime (line 18) | int sys_ftime(struct timeb *tp)

FILE: kernel/syscalls/ftruncate.c
  function sys_ftruncate (line 19) | int sys_ftruncate(unsigned int ufd, __off_t length)

FILE: kernel/syscalls/ftruncate64.c
  function sys_ftruncate64 (line 20) | int sys_ftruncate64(unsigned int ufd, __loff_t length)

FILE: kernel/syscalls/getcwd.c
  function sys_getcwd (line 20) | int sys_getcwd(char *buf, __size_t size)

FILE: kernel/syscalls/getdents.c
  function sys_getdents (line 18) | int sys_getdents(unsigned int ufd, struct dirent *dirent, unsigned int c...

FILE: kernel/syscalls/getdents64.c
  function sys_getdents64 (line 19) | int sys_getdents64(unsigned int ufd, struct dirent64 *dirent, unsigned i...

FILE: kernel/syscalls/getegid.c
  function sys_getegid (line 14) | int sys_getegid(void)

FILE: kernel/syscalls/geteuid.c
  function sys_geteuid (line 14) | int sys_geteuid(void)

FILE: kernel/syscalls/getgid.c
  function sys_getgid (line 14) | int sys_getgid(void)

FILE: kernel/syscalls/getgroups.c
  function sys_getgroups (line 17) | int sys_getgroups(__ssize_t size, __gid_t *list)

FILE: kernel/syscalls/getitimer.c
  function sys_getitimer (line 17) | int sys_getitimer(int which, struct itimerval *curr_value)

FILE: kernel/syscalls/getpgid.c
  function sys_getpgid (line 17) | int sys_getpgid(__pid_t pid)

FILE: kernel/syscalls/getpgrp.c
  function sys_getpgrp (line 14) | int sys_getpgrp(void)

FILE: kernel/syscalls/getpid.c
  function sys_getpid (line 14) | int sys_getpid(void)

FILE: kernel/syscalls/getppid.c
  function sys_getppid (line 14) | int sys_getppid(void)

FILE: kernel/syscalls/getrlimit.c
  function sys_getrlimit (line 17) | int sys_getrlimit(int resource, struct rlimit *rlim)

FILE: kernel/syscalls/getrusage.c
  function sys_getrusage (line 18) | int sys_getrusage(int who, struct rusage *usage)

FILE: kernel/syscalls/getsid.c
  function sys_getsid (line 17) | int sys_getsid(__pid_t pid)

FILE: kernel/syscalls/gettimeofday.c
  function sys_gettimeofday (line 18) | int sys_gettimeofday(struct timeval *tv, struct timezone *tz)

FILE: kernel/syscalls/getuid.c
  function sys_getuid (line 14) | int sys_getuid(void)

FILE: kernel/syscalls/ioctl.c
  function sys_ioctl (line 15) | int sys_ioctl(unsigned int ufd, int cmd, unsigned int arg)

FILE: kernel/syscalls/ioperm.c
  function sys_ioperm (line 20) | int sys_ioperm(unsigned int from, unsigned int num, int turn_on)

FILE: kernel/syscalls/iopl.c
  type sigcontext (line 35) | struct sigcontext
  type sigcontext (line 37) | struct sigcontext

FILE: kernel/syscalls/ipc.c
  type resource (line 23) | struct resource
  function ipc_init (line 25) | void ipc_init(void)
  function ipc_has_perms (line 32) | int ipc_has_perms(struct ipc_perm *perm, int mode)
  type sysvipc_args (line 96) | struct sysvipc_args
  type ipc_kludge (line 97) | struct ipc_kludge {
  type ipc_kludge (line 135) | struct ipc_kludge
  function sys_ipc (line 162) | int sys_ipc(unsigned int call, struct sysvipc_args *args)

FILE: kernel/syscalls/kill.c
  function sys_kill (line 17) | int sys_kill(__pid_t pid, __sigset_t signum)

FILE: kernel/syscalls/lchown.c
  function sys_lchown (line 20) | int sys_lchown(const char *filename, __uid_t owner, __gid_t group)

FILE: kernel/syscalls/link.c
  function sys_link (line 18) | int sys_link(const char *oldname, const char *newname)

FILE: kernel/syscalls/llseek.c
  function sys_llseek (line 18) | int sys_llseek(unsigned int ufd, unsigned int offset_high, unsigned int ...

FILE: kernel/syscalls/lseek.c
  function sys_lseek (line 18) | int sys_lseek(unsigned int ufd, __off_t offset, unsigned int whence)

FILE: kernel/syscalls/lstat.c
  function sys_lstat (line 17) | int sys_lstat(const char *filename, struct old_stat *statbuf)

FILE: kernel/syscalls/lstat64.c
  function sys_lstat64 (line 19) | int sys_lstat64(const char *filename, struct stat64 *statbuf)

FILE: kernel/syscalls/mkdir.c
  function sys_mkdir (line 19) | int sys_mkdir(const char *dirname, __mode_t mode)

FILE: kernel/syscalls/mknod.c
  function do_mknod (line 19) | int do_mknod(char *pathname, __mode_t mode, __dev_t dev)
  function sys_mknod (line 54) | int sys_mknod(const char *pathname, __mode_t mode, __dev_t dev)

FILE: kernel/syscalls/mmap2.c
  function sys_mmap2 (line 23) | int sys_mmap2(unsigned int start, unsigned int length, unsigned int prot...

FILE: kernel/syscalls/mount.c
  function sys_mount (line 21) | int sys_mount(const char *source, const char *target, const char *fstype...

FILE: kernel/syscalls/mprotect.c
  function sys_mprotect (line 19) | int sys_mprotect(unsigned int addr, __size_t length, int prot)

FILE: kernel/syscalls/msgctl.c
  function sys_msgctl (line 23) | int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf)

FILE: kernel/syscalls/msgget.c
  type msqid_ds (line 21) | struct msqid_ds
  type msqid_ds (line 28) | struct msqid_ds
  type msqid_ds (line 29) | struct msqid_ds
  function msg_release_mq (line 42) | void msg_release_mq(struct msqid_ds *mq)
  type msg (line 47) | struct msg
  type msg (line 48) | struct msg
  function msg_release_md (line 66) | void msg_release_md(struct msg *msg)
  function msg_init (line 73) | void msg_init(void)
  function sys_msgget (line 85) | int sys_msgget(key_t key, int msgflg)

FILE: kernel/syscalls/msgrcv.c
  function sys_msgrcv (line 25) | int sys_msgrcv(int msqid, void *msgp, __size_t msgsz, int msgtyp, int ms...

FILE: kernel/syscalls/msgsnd.c
  function sys_msgsnd (line 25) | int sys_msgsnd(int msqid, const void *msgp, __size_t msgsz, int msgflg)

FILE: kernel/syscalls/munmap.c
  function sys_munmap (line 16) | int sys_munmap(unsigned int addr, __size_t length)

FILE: kernel/syscalls/nanosleep.c
  function sys_nanosleep (line 21) | int sys_nanosleep(const struct timespec *req, struct timespec *rem)

FILE: kernel/syscalls/newfstat.c
  function sys_newfstat (line 17) | int sys_newfstat(unsigned int ufd, struct new_stat *statbuf)

FILE: kernel/syscalls/newlstat.c
  function sys_newlstat (line 17) | int sys_newlstat(const char *filename, struct new_stat *statbuf)

FILE: kernel/syscalls/newstat.c
  function sys_newstat (line 17) | int sys_newstat(const char *filename, struct new_stat *statbuf)

FILE: kernel/syscalls/newuname.c
  function sys_newuname (line 18) | int sys_newuname(struct new_utsname *uname)

FILE: kernel/syscalls/old_mmap.c
  function old_mmap (line 20) | int old_mmap(struct mmap *mmap)

FILE: kernel/syscalls/old_select.c
  function old_select (line 19) | int old_select(unsigned int *params)

FILE: kernel/syscalls/olduname.c
  function sys_olduname (line 17) | int sys_olduname(struct oldold_utsname *uname)

FILE: kernel/syscalls/open.c
  function sys_open (line 16) | int sys_open(const char *filename, int flags, __mode_t mode)

FILE: kernel/syscalls/pause.c
  function sys_pause (line 18) | int sys_pause(void)

FILE: kernel/syscalls/personality.c
  function sys_personality (line 13) | int sys_personality(unsigned int persona)

FILE: kernel/syscalls/pipe.c
  function sys_pipe (line 15) | int sys_pipe(int pipefd[2])

FILE: kernel/syscalls/read.c
  function sys_read (line 17) | int sys_read(unsigned int ufd, char *buf, int count)

FILE: kernel/syscalls/readlink.c
  function sys_readlink (line 19) | int sys_readlink(const char *filename, char *buffer, __size_t bufsize)

FILE: kernel/syscalls/readv.c
  function sys_readv (line 18) | int sys_readv(unsigned int ufd, const struct iovec *iov, int iovcnt)

FILE: kernel/syscalls/reboot.c
  function sys_reboot (line 19) | int sys_reboot(int magic1, int magic2, int flag)

FILE: kernel/syscalls/rename.c
  function sys_rename (line 18) | int sys_rename(const char *oldpath, const char *newpath)

FILE: kernel/syscalls/rmdir.c
  function sys_rmdir (line 17) | int sys_rmdir(const char *dirname)

FILE: kernel/syscalls/select.c
  function check_fds (line 18) | static int check_fds(int nfds, fd_set *rfds, fd_set *wfds, fd_set *efds)
  function do_check (line 43) | static int do_check(struct inode *i, struct fd *f, int flag)
  function do_select (line 54) | int do_select(int nfds, fd_set *rfds, fd_set *wfds, fd_set *efds, fd_set...
  function sys_select (line 97) | int sys_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce...

FILE: kernel/syscalls/semctl.c
  function sys_semctl (line 23) | int sys_semctl(int semid, int semnum, int cmd, void *arg)

FILE: kernel/syscalls/semget.c
  type resource (line 21) | struct resource
  type semid_ds (line 23) | struct semid_ds
  type semid_ds (line 30) | struct semid_ds
  type semid_ds (line 31) | struct semid_ds
  function sem_release_ss (line 44) | void sem_release_ss(struct semid_ds *ss)
  type sem (line 49) | struct sem
  type sem (line 50) | struct sem
  function sem_release_sma (line 68) | void sem_release_sma(struct sem *sma)
  type sem_undo (line 76) | struct sem_undo
  type sem_undo (line 77) | struct sem_undo
  function sem_release_su (line 90) | void sem_release_su(struct sem_undo *su)
  function sem_init (line 96) | void sem_init(void)
  function sys_semget (line 115) | int sys_semget(key_t key, int nsems, int semflg)

FILE: kernel/syscalls/semop.c
  function semundo_ops (line 24) | static void semundo_ops(struct semid_ds *ss, struct sembuf *sops, int max)
  function semexit (line 35) | void semexit(void)
  function sys_semop (line 73) | int sys_semop(int semid, struct sembuf *sops, int nsops)

FILE: kernel/syscalls/setdomainname.c
  function sys_setdomainname (line 18) | int sys_setdomainname(const char *name, int length)

FILE: kernel/syscalls/setfsgid.c
  function sys_setfsgid (line 15) | int sys_setfsgid(__gid_t fsgid)

FILE: kernel/syscalls/setfsuid.c
  function sys_setfsuid (line 15) | int sys_setfsuid(__uid_t fsuid)

FILE: kernel/syscalls/setgid.c
  function sys_setgid (line 16) | int sys_setgid(__gid_t gid)

FILE: kernel/syscalls/setgroups.c
  function sys_setgroups (line 17) | int sys_setgroups(__ssize_t size, const __gid_t *list)

FILE: kernel/syscalls/sethostname.c
  function sys_sethostname (line 18) | int sys_sethostname(const char *name, int length)

FILE: kernel/syscalls/setitimer.c
  function sys_setitimer (line 16) | int sys_setitimer(int which, const struct itimerval *new_value, struct i...

FILE: kernel/syscalls/setpgid.c
  function sys_setpgid (line 17) | int sys_setpgid(__pid_t pid, __pid_t pgid)

FILE: kernel/syscalls/setregid.c
  function sys_setregid (line 16) | int sys_setregid(__gid_t gid, __gid_t egid)

FILE: kernel/syscalls/setreuid.c
  function sys_setreuid (line 16) | int sys_setreuid(__uid_t uid, __uid_t euid)

FILE: kernel/syscalls/setrlimit.c
  function sys_setrlimit (line 18) | int sys_setrlimit(int resource, const struct rlimit *rlim)

FILE: kernel/syscalls/setsid.c
  function sys_setsid (line 16) | int sys_setsid(void)

FILE: kernel/syscalls/settimeofday.c
  function sys_settimeofday (line 19) | int sys_settimeofday(const struct timeval *tv, const struct timezone *tz)

FILE: kernel/syscalls/setuid.c
  function sys_setuid (line 16) | int sys_setuid(__uid_t uid)

FILE: kernel/syscalls/sgetmask.c
  function sys_sgetmask (line 14) | int sys_sgetmask(void)

FILE: kernel/syscalls/shmat.c
  function shm_map_page (line 23) | int shm_map_page(struct vma *vma, unsigned int cr2)
  function sys_shmat (line 52) | int sys_shmat(int shmid, char *shmaddr, int shmflg, unsigned int *raddr)

FILE: kernel/syscalls/shmctl.c
  function sys_shmctl (line 23) | int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf)

FILE: kernel/syscalls/shmdt.c
  function sys_shmdt (line 22) | int sys_shmdt(char *shmaddr)

FILE: kernel/syscalls/shmget.c
  type shmid_ds (line 22) | struct shmid_ds
  type shmid_ds (line 30) | struct shmid_ds
  type shmid_ds (line 31) | struct shmid_ds
  function shm_release_seg (line 48) | void shm_release_seg(struct shmid_ds *seg)
  function free_seg (line 57) | void free_seg(int shmid)
  type vma (line 79) | struct vma
  type shmid_ds (line 79) | struct shmid_ds
  function shm_release_attach (line 97) | void shm_release_attach(struct vma *attach)
  function shm_init (line 102) | void shm_init(void)
  function sys_shmget (line 113) | int sys_shmget(key_t key, __size_t size, int shmflg)

FILE: kernel/syscalls/sigaction.c
  function sys_sigaction (line 17) | int sys_sigaction(__sigset_t signum, const struct sigaction *newaction, ...

FILE: kernel/syscalls/signal.c
  function sys_signal (line 18) | unsigned int sys_signal(__sigset_t signum, void(* sighandler)(int))

FILE: kernel/syscalls/sigpending.c
  function sys_sigpending (line 17) | int sys_sigpending(__sigset_t *set)

FILE: kernel/syscalls/sigprocmask.c
  function sys_sigprocmask (line 17) | int sys_sigprocmask(int how, const __sigset_t *set, __sigset_t *oldset)

FILE: kernel/syscalls/sigreturn.c
  type sigcontext (line 17) | struct sigcontext
  type sigcontext (line 19) | struct sigcontext
  type sigcontext (line 28) | struct sigcontext

FILE: kernel/syscalls/sigsuspend.c
  function sys_sigsuspend (line 18) | int sys_sigsuspend(__sigset_t *mask)

FILE: kernel/syscalls/socketcall.c
  function sys_socketcall (line 17) | int sys_socketcall(int call, unsigned int *args)

FILE: kernel/syscalls/ssetmask.c
  function sys_ssetmask (line 15) | int sys_ssetmask(int newmask)

FILE: kernel/syscalls/stat.c
  function sys_stat (line 18) | int sys_stat(const char *filename, struct old_stat *statbuf)

FILE: kernel/syscalls/stat64.c
  function sys_stat64 (line 19) | int sys_stat64(const char *filename, struct stat64 *statbuf)

FILE: kernel/syscalls/statfs.c
  function sys_statfs (line 18) | int sys_statfs(const char *filename, struct statfs *statfsbuf)

FILE: kernel/syscalls/stime.c
  function sys_stime (line 18) | int sys_stime(__time_t *t)

FILE: kernel/syscalls/symlink.c
  function sys_symlink (line 18) | int sys_symlink(const char *oldpath, const char *newpath)

FILE: kernel/syscalls/sync.c
  function sys_sync (line 17) | void sys_sync(void)

FILE: kernel/syscalls/sysinfo.c
  function sys_sysinfo (line 20) | int sys_sysinfo(struct sysinfo *info)

FILE: kernel/syscalls/syslog.c
  function sys_syslog (line 19) | int sys_syslog(int type, char *buffer, int len)

FILE: kernel/syscalls/time.c
  function sys_time (line 17) | int sys_time(__time_t *tloc)

FILE: kernel/syscalls/times.c
  function sys_times (line 18) | int sys_times(struct tms *buf)

FILE: kernel/syscalls/truncate.c
  function sys_truncate (line 19) | int sys_truncate(const char *path, __off_t length)

FILE: kernel/syscalls/truncate64.c
  function sys_truncate64 (line 19) | int sys_truncate64(const char *path, __loff_t length)

FILE: kernel/syscalls/umask.c
  function sys_umask (line 16) | int sys_umask(__mode_t mask)

FILE: kernel/syscalls/umount.c
  function sys_umount (line 15) | int sys_umount(const char *target)

FILE: kernel/syscalls/umount2.c
  type resource (line 19) | struct resource
  function sys_umount2 (line 21) | int sys_umount2(const char *target, int flags)

FILE: kernel/syscalls/uname.c
  function sys_uname (line 17) | int sys_uname(struct old_utsname *uname)

FILE: kernel/syscalls/unlink.c
  function sys_unlink (line 19) | int sys_unlink(const char *filename)

FILE: kernel/syscalls/ustat.c
  function sys_ustat (line 21) | int sys_ustat(__dev_t dev, struct ustat *ubuf)

FILE: kernel/syscalls/utime.c
  function sys_utime (line 20) | int sys_utime(const char *filename, struct utimbuf *times)

FILE: kernel/syscalls/utimes.c
  function sys_utimes (line 21) | int sys_utimes(const char *filename, struct timeval times[2])

FILE: kernel/syscalls/wait4.c
  function sys_wait4 (line 21) | int sys_wait4(__pid_t pid, int *status, int options, struct rusage *ru)

FILE: kernel/syscalls/waitpid.c
  function sys_waitpid (line 17) | int sys_waitpid(__pid_t pid, int *status, int options)

FILE: kernel/syscalls/write.c
  function sys_write (line 17) | int sys_write(unsigned int ufd, const char *buf, int count)

FILE: kernel/syscalls/writev.c
  function sys_writev (line 18) | int sys_writev(int ufd, const struct iovec *iov, int iovcnt)

FILE: kernel/timer.c
  type callout (line 39) | struct callout
  type callout (line 40) | struct callout
  type callout (line 41) | struct callout
  type bh (line 46) | struct bh
  type bh (line 47) | struct bh
  type interrupt (line 48) | struct interrupt
  function count_active_procs (line 50) | static unsigned int count_active_procs(void)
  function calc_load (line 66) | static void calc_load(void)
  type callout (line 82) | struct callout
  type callout (line 84) | struct callout
  function put_free_callout (line 95) | static void put_free_callout(struct callout *old)
  function do_del_callout (line 101) | static void do_del_callout(struct callout *c)
  function add_callout (line 123) | void add_callout(struct callout_req *creq, unsigned int ticks)
  function del_callout (line 161) | void del_callout(struct callout_req *creq)
  function irq_timer (line 178) | void irq_timer(int num, struct sigcontext *sc)
  function tv2ticks (line 188) | unsigned int tv2ticks(const struct timeval *tv)
  function ticks2tv (line 193) | void ticks2tv(int ticks, struct timeval *tv)
  function setitimer (line 199) | int setitimer(int which, const struct itimerval *new_value, struct itime...
  function mktime (line 233) | unsigned int mktime(struct tm *tm)
  function irq_timer_bh (line 258) | void irq_timer_bh(struct sigcontext *sc)
  function do_callouts_bh (line 338) | void do_callouts_bh(struct sigcontext *sc)
  function get_system_time (line 361) | void get_system_time(void)
  function set_system_time (line 379) | void set_system_time(__time_t t)
  function gettimeoffset (line 431) | int gettimeoffset(void)
  function timer_init (line 442) | void timer_init(void)

FILE: kernel/traps.c
  type traps (line 20) | struct traps
  function do_divide_error (line 55) | void do_divide_error(unsigned int trap, struct sigcontext *sc)
  function do_debug (line 64) | void do_debug(unsigned int trap, struct sigcontext *sc)
  function do_nmi_interrupt (line 73) | void do_nmi_interrupt(unsigned int trap, struct sigcontext *sc)
  function do_breakpoint (line 96) | void do_breakpoint(unsigned int trap, struct sigcontext *sc)
  function do_overflow (line 105) | void do_overflow(unsigned int trap, struct sigcontext *sc)
  function do_bound (line 114) | void do_bound(unsigned int trap, struct sigcontext *sc)
  function do_invalid_opcode (line 123) | void do_invalid_opcode(unsigned int trap, struct sigcontext *sc)
  function do_no_math_coprocessor (line 132) | void do_no_math_coprocessor(unsigned int trap, struct sigcontext *sc)
  function do_double_fault (line 143) | void do_double_fault(unsigned int trap, struct sigcontext *sc)
  function do_coprocessor_segment_overrun (line 152) | void do_coprocessor_segment_overrun(unsigned int trap, struct sigcontext...
  function do_invalid_tss (line 161) | void do_invalid_tss(unsigned int trap, struct sigcontext *sc)
  function do_segment_not_present (line 170) | void do_segment_not_present(unsigned int trap, struct sigcontext *sc)
  function do_stack_segment_fault (line 179) | void do_stack_segment_fault(unsigned int trap, struct sigcontext *sc)
  function do_general_protection (line 188) | void do_general_protection(unsigned int trap, struct sigcontext *sc)
  function do_reserved (line 199) | void do_reserved(unsigned int trap, struct sigcontext *sc)
  function do_floating_point_error (line 208) | void do_floating_point_error(unsigned int trap, struct sigcontext *sc)
  function do_alignment_check (line 217) | void do_alignment_check(unsigned int trap, struct sigcontext *sc)
  function do_machine_check (line 226) | void do_machine_check(unsigned int trap, struct sigcontext *sc)
  function do_simd_fault (line 235) | void do_simd_fault(unsigned int trap, struct sigcontext *sc)
  function trap_handler (line 244) | void trap_handler(unsigned int trap, struct sigcontext sc)
  function stack_backtrace (line 272) | void stack_backtrace(void)
  function dump_registers (line 305) | int dump_registers(unsigned int trap, struct sigcontext *sc)

FILE: lib/printk.c
  function puts (line 28) | static void puts(char *buffer, int msg_level)
  function flush_log_buf (line 468) | void flush_log_buf(struct tty *tty)
  function printk (line 493) | void printk(const char *format, ...)
  function sprintk (line 504) | int sprintk(char *buffer, const char *format, ...)
  function snprintk (line 515) | int snprintk(char *str, unsigned int size, const char *format, ...)

FILE: lib/string.c
  function swap_asc_word (line 16) | void swap_asc_word(char *str, int len)
  function strcmp (line 44) | int strcmp(const char *str1, const char *str2)
  function strncmp (line 59) | int strncmp(const char *str1, const char *str2, __ssize_t n)
  function strncpy (line 87) | void strncpy(char *dest, const char *src, int len)
  function strlen (line 137) | int strlen(const char *str)
  function strtol (line 174) | int strtol(const char *nptr, char **endptr, int base)
  function is_dir (line 254) | int is_dir(const char *path)
  function atoi (line 265) | int atoi(const char *str)
  function memcpy_b (line 270) | void memcpy_b(void *dest, const void *src, unsigned int count)
  function memcpy_w (line 284) | void memcpy_w(void *dest, const void *src, unsigned int count)
  function memcpy_l (line 298) | void memcpy_l(void *dest, const void *src, unsigned int count)
  function memset_b (line 312) | void memset_b(void *dest, unsigned char value, unsigned int count)
  function memset_w (line 323) | void memset_w(void *dest, unsigned short int value, unsigned int count)
  function memset_l (line 334) | void memset_l(void *dest, unsigned int value, unsigned int count)
  function memcmp (line 345) | int memcmp(const void *str1, const void *str2, unsigned int count)

FILE: lib/sysconsole.c
  type sysconsole (line 14) | struct sysconsole
  function add_sysconsoledev (line 16) | int add_sysconsoledev(__dev_t dev)
  function register_console (line 30) | void register_console(struct tty *tty)
  function sysconsole_init (line 42) | void sysconsole_init(void)

FILE: mm/alloc.c
  function kmalloc (line 20) | unsigned int kmalloc(__size_t size)
  function kfree (line 48) | void kfree(unsigned int addr)

FILE: mm/bios_map.c
  type bios_mem_map (line 15) | struct bios_mem_map
  type bios_mem_map (line 16) | struct bios_mem_map
  function bios_map_add (line 28) | static void bios_map_add(unsigned int from, unsigned int to, int from_ty...
  function is_addr_in_bios_map (line 64) | int is_addr_in_bios_map(unsigned int addr)
  function bios_map_reserve (line 93) | void bios_map_reserve(unsigned int from, unsigned int to)
  function bios_map_init (line 103) | void bios_map_init(struct multiboot_mmap_entry *bmmap_addr, unsigned int...

FILE: mm/buddy_low.c
  type bl_head (line 18) | struct bl_head
  type bl_head (line 20) | struct bl_head
  type bl_head (line 20) | struct bl_head
  type bl_head (line 25) | struct bl_head
  function deallocate (line 28) | static void deallocate(struct bl_head *block)
  type bl_head (line 92) | struct bl_head
  type bl_head (line 94) | struct bl_head
  type page (line 95) | struct page
  type bl_head (line 106) | struct bl_head
  function bl_malloc (line 143) | unsigned int bl_malloc(__size_t size)
  function bl_free (line 156) | void bl_free(unsigned int addr)
  function buddy_low_init (line 169) | void buddy_low_init(void)

FILE: mm/fault.c
  function send_sigsegv (line 24) | static void send_sigsegv(struct sigcontext *sc)
  function page_protection_violation (line 34) | static int page_protection_violation(struct vma *vma, unsigned int cr2, ...
  function page_not_present (line 87) | static int page_not_present(struct vma *vma, unsigned int cr2, struct si...
  function do_page_fault (line 212) | void do_page_fault(unsigned int trap, struct sigcontext *sc)

FILE: mm/memory.c
  function map_kaddr (line 38) | unsigned int map_kaddr(unsigned int *page_dir, unsigned int from, unsign...
  function bss_init (line 69) | void bss_init(void)
  function setup_tmp_pgdir (line 81) | unsigned int setup_tmp_pgdir(unsigned int magic, unsigned int info)
  function get_mapped_addr (line 127) | unsigned int get_mapped_addr(struct proc *p, unsigned int addr)
  function clone_pages (line 139) | int clone_pages(struct proc *child)
  function free_page_tables (line 204) | int free_page_tables(struct proc *p)
  function map_page (line 220) | unsigned int map_page(struct proc *p, unsigned int vaddr, unsigned int a...
  function map_page_flags (line 225) | unsigned int map_page_flags(struct proc *p, unsigned int vaddr, unsigned...
  function unmap_page (line 260) | int unmap_page(unsigned int vaddr)
  function mem_init (line 295) | void mem_init(void)
  function mem_stats (line 465) | void mem_stats(void)

FILE: mm/mmap.c
  type vma (line 21) | struct vma
  type vma (line 21) | struct vma
  function show_vma_regions (line 23) | void show_vma_regions(struct proc *p)
  function insert_vma_region (line 91) | static void insert_vma_region(struct vma *vma)
  function add_vma_region (line 131) | static void add_vma_region(struct vma *vma)
  function del_vma_region (line 148) | static void del_vma_region(struct vma *vma)
  function can_be_merged (line 180) | static int can_be_merged(struct vma *a, struct vma *b)
  function free_vma_region (line 197) | static int free_vma_region(struct vma *vma, unsigned int start, __ssize_...
  function merge_vma_regions (line 235) | void merge_vma_regions(struct vma *a, struct vma *b)
  function free_vma_pages (line 274) | void free_vma_pages(struct vma *vma, unsigned int start, __size_t length)
  function release_binary (line 330) | void release_binary(void)
  type vma (line 346) | struct vma
  type vma (line 348) | struct vma
  type vma (line 366) | struct vma
  type vma (line 368) | struct vma
  function expand_heap (line 384) | int expand_heap(unsigned int new)
  function get_unmapped_vma_region (line 410) | unsigned int get_unmapped_vma_region(unsigned int length)
  function do_mmap (line 436) | int do_mmap(struct inode *i, unsigned int start, unsigned int length, un...
  function do_munmap (line 535) | int do_munmap(unsigned int addr, __size_t length)
  function do_mprotect (line 565) | int do_mprotect(struct vma *vma, unsigned int addr, __size_t length, int...

FILE: mm/page.c
  type page (line 43) | struct page
  type page (line 44) | struct page
  type page (line 45) | struct page
  function insert_to_hash (line 47) | static void insert_to_hash(struct page *pg)
  function remove_from_hash (line 67) | static void remove_from_hash(struct page *pg)
  function insert_on_free_list (line 97) | static void insert_on_free_list(struct page *pg)
  function remove_from_free_list (line 112) | static void remove_from_free_list(struct page *pg)
  function page_lock (line 130) | void page_lock(struct page *pg)
  function page_unlock (line 147) | void page_unlock(struct page *pg)
  type page (line 157) | struct page
  type page (line 160) | struct page
  type page (line 211) | struct page
  type inode (line 211) | struct inode
  type page (line 213) | struct page
  function release_page (line 233) | void release_page(struct page *pg)
  function is_valid_page (line 275) | int is_valid_page(int page)
  function invalidate_inode_pages (line 280) | void invalidate_inode_pages(struct inode *i)
  function update_page_cache (line 295) | void update_page_cache(struct inode *i, __off_t offset, const char *buf,...
  function write_page (line 316) | int write_page(struct page *pg, struct inode *i, __off_t offset, unsigne...
  function bread_page (line 336) | int bread_page(struct page *pg, struct inode *i, __off_t offset, char pr...
  function file_read (line 424) | int file_read(struct inode *i, struct fd *f, char *buffer, __size_t count)
  function reserve_pages (line 477) | void reserve_pages(unsigned int from, unsigned int to)
  function page_init (line 496) | void page_init(int pages)

FILE: mm/swapper.c
  function kswapd (line 30) | int kswapd(void)

FILE: net/core.c
  function dev_ioctl (line 16) | int dev_ioctl(int cmd, void *arg)

FILE: net/domains.c
  type domain_table (line 15) | struct domain_table
  type proto_ops (line 21) | struct proto_ops
  type proto_ops (line 44) | struct proto_ops
  function assign_proto (line 67) | int assign_proto(struct socket *so, int domain)
  function net_init (line 83) | void net_init(void)

FILE: net/ipv4.c
  type ipv4_info (line 23) | struct ipv4_info
  type resource (line 25) | struct resource
  function add_ipv4_socket (line 27) | static void add_ipv4_socket(struct ipv4_info *ip4)
  function remove_ipv4_socket (line 41) | static void remove_ipv4_socket(struct ipv4_info *ip4)
  function ipv4_create (line 59) | int ipv4_create(struct socket *s, int domain, int type, int protocol)
  function ipv4_free (line 77) | void ipv4_free(struct socket *s)
  function ipv4_bind (line 91) | int ipv4_bind(struct socket *s, const struct sockaddr *addr, int addrlen)
  function ipv4_listen (line 96) | int ipv4_listen(struct socket *s, int backlog)
  function ipv4_connect (line 101) | int ipv4_connect(struct socket *s, const struct sockaddr *addr, int addr...
  function ipv4_accept (line 106) | int ipv4_accept(struct socket *s, struct sockaddr *addr, unsigned int *a...
  function ipv4_getname (line 132) | int ipv4_getname(struct socket *s, struct sockaddr *addr, unsigned int *...
  function ipv4_socketpair (line 137) | int ipv4_socketpair(struct socket *s1, struct socket *s2)
  function ipv4_send (line 142) | int ipv4_send(struct socket *s, struct fd *f, const char *buffer, __size...
  function ipv4_recv (line 150) | int ipv4_recv(struct socket *s, struct fd *f, char *buffer, __size_t cou...
  function ipv4_sendto (line 158) | int ipv4_sendto(struct socket *s, struct fd *f, const char *buffer, __si...
  function ipv4_recvfrom (line 163) | int ipv4_recvfrom(struct socket *s, struct fd *f, char *buffer, __size_t...
  function ipv4_read (line 168) | int ipv4_read(struct socket *s, struct fd *f, char *buffer, __size_t count)
  function ipv4_write (line 173) | int ipv4_write(struct socket *s, struct fd *f, const char *buffer, __siz...
  function ipv4_ioctl (line 178) | int ipv4_ioctl(struct socket *s, struct fd *f, int cmd, unsigned int arg)
  function ipv4_select (line 192) | int ipv4_select(struct socket *s, int flag)
  function ipv4_shutdown (line 197) | int ipv4_shutdown(struct socket *s, int how)
  function ipv4_setsockopt (line 202) | int ipv4_setsockopt(struct socket *s, int level, int optname, const void...
  function ipv4_getsockopt (line 207) | int ipv4_getsockopt(struct socket *s, int level, int optname, void *optv...
  function ipv4_init (line 212) | int ipv4_init(void)

FILE: net/packet.c
  type packet (line 14) | struct packet
  type packet (line 14) | struct packet
  type packet (line 19) | struct packet
  type packet (line 19) | struct packet
  type packet (line 21) | struct packet
  function append_packet_to_queue (line 30) | void append_packet_to_queue(struct packet *p, struct packet **queue_head)

FILE: net/socket.c
  function check_sd (line 27) | static int check_sd(int sd)
  type socket (line 40) | struct socket
  type inode (line 42) | struct inode
  type socket (line 48) | struct socket
  type socket (line 48) | struct socket
  type socket (line 51) | struct socket
  function insert_socket_to_queue (line 66) | int insert_socket_to_queue(struct socket *ss, struct socket *sc)
  function sock_alloc (line 91) | int sock_alloc(struct socket **s)
  function sock_free (line 124) | void sock_free(struct socket *s)
  function socket (line 155) | int socket(int domain, int type, int protocol)
  function bind (line 185) | int bind(int sd, struct sockaddr *addr, int addrlen)
  function listen (line 204) | int listen(int sd, int backlog)
  function connect (line 226) | int connect(int sd, struct sockaddr *addr, int addrlen)
  function accept (line 245) | int accept(int sd, struct sockaddr *addr, unsigned int *addrlen)
  function getname (line 267) | int getname(int sd, struct sockaddr *addr, unsigned int *addrlen, int call)
  function socketpair (line 287) | int socketpair(int domain, int type, int protocol, int sockfd[2])
  function send (line 346) | int send(int sd, const void *buf, __size_t len, int flags)
  function recv (line 367) | int recv(int sd, void *buf, __size_t len, int flags)
  function sendto (line 388) | int sendto(int sd, const void *buf, __size_t len, int flags, const struc...
  function recvfrom (line 409) | int recvfrom(int sd, void *buf, __size_t len, int flags, struct sockaddr...
  function shutdown (line 442) | int shutdown(int sd, int how)
  function setsockopt (line 458) | int setsockopt(int sd, int level, int optname, const void *optval, sockl...
  function getsockopt (line 474) | int getsockopt(int sd, int level, int optname, void *optval, socklen_t *...

FILE: net/unix.c
  type unix_info (line 25) | struct unix_info
  type resource (line 27) | struct resource
  function add_unix_socket (line 29) | static void add_unix_socket(struct unix_info *u)
  function remove_unix_socket (line 43) | static void remove_unix_socket(struct unix_info *u)
  type unix_info (line 61) | struct unix_info
  type inode (line 61) | struct inode
  type unix_info (line 63) | struct unix_info
  function unix_create (line 78) | int unix_create(struct socket *s, int domain, int type, int protocol)
  function unix_free (line 90) | void unix_free(struct socket *s)
  function unix_bind (line 124) | int unix_bind(struct socket *s, const struct sockaddr *addr, int addrlen)
  function unix_listen (line 166) | int unix_listen(struct socket *s, int backlog)
  function unix_connect (line 171) | int unix_connect(struct socket *sc, const struct sockaddr *addr, int add...
  function unix_accept (line 209) | int unix_accept(struct socket *ss, struct sockaddr *addr, unsigned int *...
  function unix_getname (line 261) | int unix_getname(struct socket *s, struct sockaddr *addr, unsigned int *...
  function unix_socketpair (line 289) | int unix_socketpair(struct socket *s1, struct socket *s2)
  function unix_send (line 309) | int unix_send(struct socket *s, struct fd *f, const char *buffer, __size...
  function unix_recv (line 317) | int unix_recv(struct socket *s, struct fd *f, char *buffer, __size_t cou...
  function unix_sendto (line 325) | int unix_sendto(struct socket *s, struct fd *f, const char *buffer, __si...
  function unix_recvfrom (line 376) | int unix_recvfrom(struct socket *s, struct fd *f, char *buffer, __size_t...
  function unix_read (line 417) | int unix_read(struct socket *s, struct fd *f, char *buffer, __size_t count)
  function unix_write (line 478) | int unix_write(struct socket *s, struct fd *f, const char *buffer, __siz...
  function unix_ioctl (line 533) | int unix_ioctl(struct socket *s, struct fd *f, int cmd, unsigned int arg)
  function unix_select (line 545) | int unix_select(struct socket *s, int flag)
  function unix_shutdown (line 582) | int unix_shutdown(struct socket *s, int how)
  function unix_setsockopt (line 587) | int unix_setsockopt(struct socket *s, int level, int optname, const void...
  function unix_getsockopt (line 592) | int unix_getsockopt(struct socket *s, int level, int optname, void *optv...
  function unix_init (line 597) | int unix_init(void)
Condensed preview — 407 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,786K chars).
[
  {
    "path": ".gitignore",
    "chars": 145,
    "preview": "*.o\n/fiwix\nSystem.map.gz\ninclude/fiwix/custom_config.h\ninclude/fiwix/custom_limits.h\ninclude/fiwix/custom_kernel.h\ninclu"
  },
  {
    "path": "CODING",
    "chars": 2382,
    "preview": "Fiwix kernel coding standards\n-------------------------------------------------------------------------------\nIt's easie"
  },
  {
    "path": "Changes",
    "chars": 38729,
    "preview": "1.8.0 - DD-MMM-2026\n===================\n- Added generic PCI Bus-Master DMA support on ATA disks.\n- Added support for til"
  },
  {
    "path": "LICENSE",
    "chars": 2554,
    "preview": "MIT License\n\nCopyright (c) 2018 Jordi Sanfeliu, et al.\n\nPermission is hereby granted, free of charge, to any person obta"
  },
  {
    "path": "Makefile",
    "chars": 1999,
    "preview": "# fiwix/Makefile\n#\n# Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n# Distributed under the terms of the Fiwi"
  },
  {
    "path": "README.md",
    "chars": 4891,
    "preview": "Fiwix\n=====\nFiwix is an operating system kernel written from scratch, based on the UNIX architecture and fully focused o"
  },
  {
    "path": "THANKS",
    "chars": 449,
    "preview": "THANKS!\n\nA huge THANKS to all people who created their own hobby, and not so hobby,\noperating systems and made them free"
  },
  {
    "path": "docs/devices.txt",
    "chars": 2726,
    "preview": "Fiwix allocated devices\n=======================\n\nCharacter\n\nMajor | Minor | Device name   | Description\n------+-------+-"
  },
  {
    "path": "docs/initrd.txt",
    "chars": 1102,
    "preview": "Initrd image size restriction\n=============================\nThe Fiwix kernel supports very large initrd images with two "
  },
  {
    "path": "docs/kernel-parameters.txt",
    "chars": 1220,
    "preview": "Fiwix kernel parameters\n=======================\n\nThe following is a list of the current kernel parameters:\n\nbga=\t\tBochs "
  },
  {
    "path": "docs/kexec.txt",
    "chars": 5497,
    "preview": "Fiwix kexec implementation\n==========================\nKexec is a mechanism that let's you switch into a different kernel"
  },
  {
    "path": "docs/kmem_layout.txt",
    "chars": 1560,
    "preview": "Fiwix kernel memory address space on the i386 architecture\n==========================================================\n\n\t"
  },
  {
    "path": "docs/system-console.txt",
    "chars": 727,
    "preview": "Fiwix system console\n====================\nIt is possible to specify multiple devices for console output. You can define\n"
  },
  {
    "path": "docs/tcc.txt",
    "chars": 1567,
    "preview": "Fiwix can be built with a modified version of tcc instead of gcc.\n\nA version of tcc which has been verified to compile F"
  },
  {
    "path": "docs/video/font-lat9-8x14.txt",
    "chars": 84318,
    "preview": "\t/* 0x00        */\n0x00, \t/* -------- */\n0x7e, \t/* -######- */\n0xc3, \t/* ##----## */\n0x99, \t/* #--##--# */\n0x99, \t/* #--"
  },
  {
    "path": "docs/video/font-lat9-8x16.txt",
    "chars": 95628,
    "preview": "\t/* 0x00        */\n0x00, \t/* -------- */\n0x00, \t/* -------- */\n0x7e, \t/* -######- */\n0xc3, \t/* ##----## */\n0x99, \t/* #--"
  },
  {
    "path": "docs/video/font-lat9-8x8.txt",
    "chars": 50387,
    "preview": "\t/* 0x00        */\n0x7e, \t/* -######- */\n0xc3, \t/* ##----## */\n0x99, \t/* #--##--# */\n0xf3, \t/* ####--## */\n0xe7, \t/* ###"
  },
  {
    "path": "drivers/block/Makefile",
    "chars": 322,
    "preview": "# fiwix/drivers/block/Makefile\n#\n# Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n# Distributed under the ter"
  },
  {
    "path": "drivers/block/ata.c",
    "chars": 23256,
    "preview": "/*\n * fiwix/drivers/block/ata.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the"
  },
  {
    "path": "drivers/block/ata_hd.c",
    "chars": 14555,
    "preview": "/*\n * fiwix/drivers/block/ata_hd.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under "
  },
  {
    "path": "drivers/block/ata_pci.c",
    "chars": 3535,
    "preview": "/*\n * fiwix/drivers/block/ata_pci.c\n *\n * Copyright 2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the "
  },
  {
    "path": "drivers/block/atapi.c",
    "chars": 3214,
    "preview": "/*\n * fiwix/drivers/block/atapi.c\n *\n * Copyright 2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the te"
  },
  {
    "path": "drivers/block/atapi_cd.c",
    "chars": 10100,
    "preview": "/*\n * fiwix/drivers/block/atapi_cd.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed unde"
  },
  {
    "path": "drivers/block/blk_queue.c",
    "chars": 2316,
    "preview": "/*\n * fiwix/drivers/block/blk_queue.c\n *\n * Copyright 2024, Jordi Sanfeliu. All rights reserved.\n * Distributed under th"
  },
  {
    "path": "drivers/block/dma.c",
    "chars": 2549,
    "preview": "/*\n * fiwix/drivers/block/dma.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the"
  },
  {
    "path": "drivers/block/floppy.c",
    "chars": 20418,
    "preview": "/*\n * fiwix/drivers/block/floppy.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under "
  },
  {
    "path": "drivers/block/part.c",
    "chars": 891,
    "preview": "/*\n * fiwix/drivers/block/part.c\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the ter"
  },
  {
    "path": "drivers/block/ramdisk.c",
    "chars": 4918,
    "preview": "/*\n * fiwix/drivers/block/ramdisk.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under"
  },
  {
    "path": "drivers/char/Makefile",
    "chars": 341,
    "preview": "# fiwix/drivers/char/Makefile\n#\n# Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n# Distributed under the term"
  },
  {
    "path": "drivers/char/charq.c",
    "chars": 4631,
    "preview": "/*\n * fiwix/drivers/char/charq.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under th"
  },
  {
    "path": "drivers/char/console.c",
    "chars": 23578,
    "preview": "/*\n * fiwix/drivers/char/console.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under "
  },
  {
    "path": "drivers/char/defkeymap.c",
    "chars": 10714,
    "preview": "/*\n * fiwix/drivers/char/defkeymap.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed unde"
  },
  {
    "path": "drivers/char/fb.c",
    "chars": 3925,
    "preview": "/*\n * fiwix/drivers/char/fb.c\n *\n * Copyright 2021-2022, Jordi Sanfeliu. All rights reserved.\n * Portions Copyright 2024"
  },
  {
    "path": "drivers/char/keyboard.c",
    "chars": 13836,
    "preview": "/*\n * fiwix/drivers/char/keyboard.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under"
  },
  {
    "path": "drivers/char/lp.c",
    "chars": 4210,
    "preview": "/*\n * fiwix/drivers/char/lp.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the t"
  },
  {
    "path": "drivers/char/memdev.c",
    "chars": 13817,
    "preview": "/*\n * fiwix/drivers/char/memdev.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under t"
  },
  {
    "path": "drivers/char/ps2.c",
    "chars": 5115,
    "preview": "/*\n * fiwix/drivers/char/ps2.c\n *\n * Copyright 2024, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms"
  },
  {
    "path": "drivers/char/psaux.c",
    "chars": 5915,
    "preview": "/*\n * fiwix/drivers/char/psaux.c\n *\n * Copyright 2024, Jordi Sanfeliu. All rights reserved.\n * Distributed under the ter"
  },
  {
    "path": "drivers/char/pty.c",
    "chars": 6350,
    "preview": "/*\n * fiwix/drivers/char/pty.c\n *\n * Copyright 2025, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms"
  },
  {
    "path": "drivers/char/serial.c",
    "chars": 13756,
    "preview": "/*\n * fiwix/drivers/char/serial.c\n *\n * Copyright 2020-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under t"
  },
  {
    "path": "drivers/char/sysrq.c",
    "chars": 1580,
    "preview": "/*\n * fiwix/drivers/char/sysrq.c\n *\n * Copyright 2021, Jordi Sanfeliu. All rights reserved.\n * Distributed under the ter"
  },
  {
    "path": "drivers/char/tty.c",
    "chars": 25779,
    "preview": "/*\n * fiwix/drivers/char/tty.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the "
  },
  {
    "path": "drivers/char/vt.c",
    "chars": 5085,
    "preview": "/*\n * fiwix/drivers/char/vt.c\n *\n * Copyright 2018-2021, Jordi Sanfeliu. All rights reserved.\n * Distributed under the t"
  },
  {
    "path": "drivers/pci/Makefile",
    "chars": 224,
    "preview": "# fiwix/drivers/pci/Makefile\n#\n# Copyright 2022, Jordi Sanfeliu. All rights reserved.\n# Distributed under the terms of t"
  },
  {
    "path": "drivers/pci/pci.c",
    "chars": 7574,
    "preview": "/*\n * fiwix/drivers/pci/pci.c\n *\n * Copyright 2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms "
  },
  {
    "path": "drivers/video/Makefile",
    "chars": 264,
    "preview": "# fiwix/drivers/video/Makefile\n#\n# Copyright 2021-2022, Jordi Sanfeliu. All rights reserved.\n# Distributed under the ter"
  },
  {
    "path": "drivers/video/bga.c",
    "chars": 3076,
    "preview": "/*\n * fiwix/drivers/video/bga.c\n *\n * Copyright 2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the term"
  },
  {
    "path": "drivers/video/fbcon.c",
    "chars": 13761,
    "preview": "/*\n * fiwix/drivers/video/fbcon.c\n *\n * Copyright 2021-2022, Jordi Sanfeliu. All rights reserved.\n * Portions Copyright "
  },
  {
    "path": "drivers/video/font-lat9-8x14.c",
    "chars": 26748,
    "preview": "#include <fiwix/font.h>\n\n/* refer to 'fiwix/docs/video/' for a visual representation of these glyphs */\nstatic unsigned "
  },
  {
    "path": "drivers/video/font-lat9-8x16.c",
    "chars": 29832,
    "preview": "#include <fiwix/font.h>\n\n/* refer to 'fiwix/docs/video/' for a visual representation of these glyphs */\nstatic unsigned "
  },
  {
    "path": "drivers/video/font-lat9-8x8.c",
    "chars": 17489,
    "preview": "#include <fiwix/font.h>\n\n/* refer to 'fiwix/docs/video/' for a visual representation of these glyphs */\nstatic unsigned "
  },
  {
    "path": "drivers/video/fonts.c",
    "chars": 646,
    "preview": "/*\n * fiwix/drivers/video/fonts.c\n *\n * Copyright 2021-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under t"
  },
  {
    "path": "drivers/video/vgacon.c",
    "chars": 8814,
    "preview": "/*\n * fiwix/drivers/video/vgacon.c\n *\n * Copyright 2021-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under "
  },
  {
    "path": "drivers/video/video.c",
    "chars": 755,
    "preview": "/*\n * fiwix/drivers/video/video.c\n *\n * Copyright 2021-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under t"
  },
  {
    "path": "fiwix.ld",
    "chars": 885,
    "preview": "/*\n * Linker script for the Fiwix kernel.\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed unde"
  },
  {
    "path": "fs/Makefile",
    "chars": 462,
    "preview": "# fiwix/fs/Makefile\n#\n# Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n# Distributed under the terms of the F"
  },
  {
    "path": "fs/buffer.c",
    "chars": 16981,
    "preview": "/*\n * fiwix/fs/buffer.c\n *\n * Copyright 2018-2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms o"
  },
  {
    "path": "fs/devices.c",
    "chars": 8391,
    "preview": "/*\n * fiwix/fs/devices.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms "
  },
  {
    "path": "fs/devpts/Makefile",
    "chars": 246,
    "preview": "# fiwix/fs/devpts/Makefile\n#\n# Copyright 2025, Jordi Sanfeliu. All rights reserved.\n# Distributed under the terms of the"
  },
  {
    "path": "fs/devpts/dir.c",
    "chars": 2764,
    "preview": "/*\n * fiwix/fs/devpts/dir.c\n *\n * Copyright 2025, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms of"
  },
  {
    "path": "fs/devpts/inode.c",
    "chars": 1325,
    "preview": "/*\n * fiwix/fs/devpts/inode.c\n *\n * Copyright 2025, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms "
  },
  {
    "path": "fs/devpts/namei.c",
    "chars": 893,
    "preview": "/*\n * fiwix/fs/devpts/namei.c\n *\n * Copyright 2025, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms "
  },
  {
    "path": "fs/devpts/super.c",
    "chars": 2838,
    "preview": "/*\n * fiwix/fs/devpts/super.c\n *\n * Copyright 2025, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms "
  },
  {
    "path": "fs/elf.c",
    "chars": 15236,
    "preview": "/*\n * fiwix/fs/elf.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms of t"
  },
  {
    "path": "fs/ext2/Makefile",
    "chars": 276,
    "preview": "# fiwix/fs/ext2/Makefile\n#\n# Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n# Distributed under the terms of "
  },
  {
    "path": "fs/ext2/bitmaps.c",
    "chars": 7533,
    "preview": "/*\n * fiwix/fs/ext2/bitmaps.c\n *\n * Copyright 2019, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms "
  },
  {
    "path": "fs/ext2/dir.c",
    "chars": 5331,
    "preview": "/*\n * fiwix/fs/ext2/dir.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms"
  },
  {
    "path": "fs/ext2/file.c",
    "chars": 4581,
    "preview": "/*\n * fiwix/fs/ext2/file.c\n *\n * Copyright 2018-2021, Jordi Sanfeliu. All rights reserved.\n * Distributed under the term"
  },
  {
    "path": "fs/ext2/inode.c",
    "chars": 14155,
    "preview": "/*\n * fiwix/fs/ext2/inode.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the ter"
  },
  {
    "path": "fs/ext2/namei.c",
    "chars": 18678,
    "preview": "/*\n * fiwix/fs/ext2/namei.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the ter"
  },
  {
    "path": "fs/ext2/super.c",
    "chars": 5713,
    "preview": "/*\n * fiwix/fs/ext2/super.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the ter"
  },
  {
    "path": "fs/ext2/symlink.c",
    "chars": 2814,
    "preview": "/*\n * fiwix/fs/ext2/symlink.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the t"
  },
  {
    "path": "fs/fd.c",
    "chars": 1202,
    "preview": "/*\n * fiwix/fs/fd.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms of th"
  },
  {
    "path": "fs/filesystems.c",
    "chars": 2248,
    "preview": "/*\n * fiwix/fs/filesystems.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the te"
  },
  {
    "path": "fs/inode.c",
    "chars": 9729,
    "preview": "/*\n * fiwix/fs/inode.c\n *\n * Copyright 2018-2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms of"
  },
  {
    "path": "fs/iso9660/Makefile",
    "chars": 276,
    "preview": "# fiwix/fs/iso9660/Makefile\n#\n# Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n# Distributed under the terms "
  },
  {
    "path": "fs/iso9660/dir.c",
    "chars": 4358,
    "preview": "/*\n * fiwix/fs/iso9660/dir.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the te"
  },
  {
    "path": "fs/iso9660/file.c",
    "chars": 1559,
    "preview": "/*\n * fiwix/fs/iso9660/file.c\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms "
  },
  {
    "path": "fs/iso9660/inode.c",
    "chars": 4610,
    "preview": "/*\n * fiwix/fs/iso9660/inode.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the "
  },
  {
    "path": "fs/iso9660/namei.c",
    "chars": 2895,
    "preview": "/*\n * fiwix/fs/iso9660/namei.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the "
  },
  {
    "path": "fs/iso9660/rrip.c",
    "chars": 8329,
    "preview": "/*\n * fiwix/fs/iso9660/rrip.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the t"
  },
  {
    "path": "fs/iso9660/super.c",
    "chars": 4927,
    "preview": "/*\n * fiwix/fs/iso9660/super.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the "
  },
  {
    "path": "fs/iso9660/symlink.c",
    "chars": 2211,
    "preview": "/*\n * fiwix/fs/iso9660/symlink.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under th"
  },
  {
    "path": "fs/locks.c",
    "chars": 4364,
    "preview": "/*\n * fiwix/fs/locks.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms of"
  },
  {
    "path": "fs/minix/Makefile",
    "chars": 299,
    "preview": "# fiwix/fs/minix/Makefile\n#\n# Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n# Distributed under the terms of"
  },
  {
    "path": "fs/minix/bitmaps.c",
    "chars": 3764,
    "preview": "/*\n * fiwix/fs/minix/bitmaps.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the "
  },
  {
    "path": "fs/minix/dir.c",
    "chars": 3060,
    "preview": "/*\n * fiwix/fs/minix/dir.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the term"
  },
  {
    "path": "fs/minix/file.c",
    "chars": 2656,
    "preview": "/*\n * fiwix/fs/minix/file.c\n *\n * Copyright 2018-2021, Jordi Sanfeliu. All rights reserved.\n * Distributed under the ter"
  },
  {
    "path": "fs/minix/inode.c",
    "chars": 1504,
    "preview": "/*\n * fiwix/fs/minix/inode.c\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms o"
  },
  {
    "path": "fs/minix/namei.c",
    "chars": 15908,
    "preview": "/*\n * fiwix/fs/minix/namei.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the te"
  },
  {
    "path": "fs/minix/super.c",
    "chars": 7487,
    "preview": "/*\n * fiwix/fs/minix/super.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the te"
  },
  {
    "path": "fs/minix/symlink.c",
    "chars": 2915,
    "preview": "/*\n * fiwix/fs/minix/symlink.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the "
  },
  {
    "path": "fs/minix/v1_inode.c",
    "chars": 10568,
    "preview": "/*\n * fiwix/fs/minix/v1_inode.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the"
  },
  {
    "path": "fs/minix/v2_inode.c",
    "chars": 13768,
    "preview": "/*\n * fiwix/fs/minix/v2_inode.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the"
  },
  {
    "path": "fs/namei.c",
    "chars": 3261,
    "preview": "/*\n * fiwix/fs/namei.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms of"
  },
  {
    "path": "fs/pipefs/Makefile",
    "chars": 243,
    "preview": "# fiwix/fs/pipefs/Makefile\n#\n# Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n# Distributed under the terms o"
  },
  {
    "path": "fs/pipefs/fifo.c",
    "chars": 1540,
    "preview": "/*\n * fiwix/fs/pipefs/fifo.c\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms o"
  },
  {
    "path": "fs/pipefs/pipe.c",
    "chars": 4736,
    "preview": "/*\n * fiwix/fs/pipefs/pipe.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the te"
  },
  {
    "path": "fs/pipefs/super.c",
    "chars": 2302,
    "preview": "/*\n * fiwix/fs/pipefs/super.c\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms "
  },
  {
    "path": "fs/procfs/Makefile",
    "chars": 289,
    "preview": "# fiwix/fs/procfs/Makefile\n#\n# Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n# Distributed under the terms o"
  },
  {
    "path": "fs/procfs/data.c",
    "chars": 25888,
    "preview": "/*\n * fiwix/fs/procfs/data.c\n *\n * Copyright 2018-2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the te"
  },
  {
    "path": "fs/procfs/dir.c",
    "chars": 6026,
    "preview": "/*\n * fiwix/fs/procfs/dir.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the ter"
  },
  {
    "path": "fs/procfs/file.c",
    "chars": 2442,
    "preview": "/*\n * fiwix/fs/procfs/file.c\n *\n * Copyright 2018-2021, Jordi Sanfeliu. All rights reserved.\n * Distributed under the te"
  },
  {
    "path": "fs/procfs/inode.c",
    "chars": 2205,
    "preview": "/*\n * fiwix/fs/procfs/inode.c\n *\n * Copyright 2018-2021, Jordi Sanfeliu. All rights reserved.\n * Distributed under the t"
  },
  {
    "path": "fs/procfs/kmsg.c",
    "chars": 1646,
    "preview": "/*\n * fiwix/fs/procfs/kmsg.c\n *\n * Copyright 2025, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms o"
  },
  {
    "path": "fs/procfs/namei.c",
    "chars": 2507,
    "preview": "/*\n * fiwix/fs/procfs/namei.c\n *\n * Copyright 2018-2021, Jordi Sanfeliu. All rights reserved.\n * Distributed under the t"
  },
  {
    "path": "fs/procfs/super.c",
    "chars": 1706,
    "preview": "/*\n * fiwix/fs/procfs/super.c\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms "
  },
  {
    "path": "fs/procfs/symlink.c",
    "chars": 3416,
    "preview": "/*\n * fiwix/fs/procfs/symlink.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the"
  },
  {
    "path": "fs/procfs/tree.c",
    "chars": 5975,
    "preview": "/*\n * fiwix/fs/procfs/tree.c\n *\n * Copyright 2018-2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the te"
  },
  {
    "path": "fs/script.c",
    "chars": 1241,
    "preview": "/*\n * fiwix/fs/script.c\n *\n * Copyright 2019-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms o"
  },
  {
    "path": "fs/sockfs/Makefile",
    "chars": 233,
    "preview": "# fiwix/fs/sockfs/Makefile\n#\n# Copyright 2023, Jordi Sanfeliu. All rights reserved.\n# Distributed under the terms of the"
  },
  {
    "path": "fs/sockfs/socket.c",
    "chars": 1296,
    "preview": "/*\n * fiwix/fs/sockfs/socket.c\n *\n * Copyright 2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms"
  },
  {
    "path": "fs/sockfs/super.c",
    "chars": 2096,
    "preview": "/*\n * fiwix/fs/sockfs/super.c\n *\n * Copyright 2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms "
  },
  {
    "path": "fs/super.c",
    "chars": 5347,
    "preview": "/*\n * fiwix/fs/super.c\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms of"
  },
  {
    "path": "include/fiwix/asm.h",
    "chars": 4465,
    "preview": "/*\n * fiwix/include/fiwix/asm.h\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the"
  },
  {
    "path": "include/fiwix/ata.h",
    "chars": 12519,
    "preview": "/*\n * fiwix/include/fiwix/ata.h\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the"
  },
  {
    "path": "include/fiwix/ata_hd.h",
    "chars": 671,
    "preview": "/*\n * fiwix/include/fiwix/ata_hd.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the t"
  },
  {
    "path": "include/fiwix/ata_pci.h",
    "chars": 501,
    "preview": "/*\n * fiwix/include/fiwix/ata_pci.h\n *\n * Copyright 2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the "
  },
  {
    "path": "include/fiwix/atapi.h",
    "chars": 1195,
    "preview": "/*\n * fiwix/include/fiwix/atapi.h\n *\n * Copyright 2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the te"
  },
  {
    "path": "include/fiwix/atapi_cd.h",
    "chars": 647,
    "preview": "/*\n * fiwix/include/fiwix/atapi_cd.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the"
  },
  {
    "path": "include/fiwix/bga.h",
    "chars": 933,
    "preview": "/*\n * fiwix/include/fiwix/bga.h\n *\n * Copyright 2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the term"
  },
  {
    "path": "include/fiwix/bios.h",
    "chars": 738,
    "preview": "/*\n * fiwix/include/fiwix/bios.h\n *\n * Copyright 2018-2021, Jordi Sanfeliu. All rights reserved.\n * Distributed under th"
  },
  {
    "path": "include/fiwix/blk_queue.h",
    "chars": 833,
    "preview": "/*\n * fiwix/include/fiwix/blk_queue.h\n *\n * Copyright 2024, Jordi Sanfeliu. All rights reserved.\n * Distributed under th"
  },
  {
    "path": "include/fiwix/buffer.h",
    "chars": 1473,
    "preview": "/*\n * fiwix/include/fiwix/buffer.h\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under "
  },
  {
    "path": "include/fiwix/charq.h",
    "chars": 918,
    "preview": "/*\n * fiwix/include/fiwix/charq.h\n *\n * Copyright 2024, Jordi Sanfeliu. All rights reserved.\n * Distributed under the te"
  },
  {
    "path": "include/fiwix/cmos.h",
    "chars": 2104,
    "preview": "/*\n * fiwix/include/fiwix/cmos.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the ter"
  },
  {
    "path": "include/fiwix/config.h",
    "chars": 2193,
    "preview": "/*\n * fiwix/include/fiwix/config.h\n *\n * Copyright 2018-2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under "
  },
  {
    "path": "include/fiwix/console.h",
    "chars": 5669,
    "preview": "/*\n * fiwix/include/fiwix/console.h\n *\n * Copyright 2018-2021, Jordi Sanfeliu. All rights reserved.\n * Distributed under"
  },
  {
    "path": "include/fiwix/cpu.h",
    "chars": 2422,
    "preview": "/*\n * fiwix/include/fiwix/cpu.h\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the"
  },
  {
    "path": "include/fiwix/ctype.h",
    "chars": 1207,
    "preview": "/*\n * fiwix/include/fiwix/ctype.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the te"
  },
  {
    "path": "include/fiwix/devices.h",
    "chars": 1841,
    "preview": "/*\n * fiwix/include/fiwix/devices.h\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under"
  },
  {
    "path": "include/fiwix/dirent.h",
    "chars": 921,
    "preview": "/*\n * fiwix/include/fiwix/dirent.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the t"
  },
  {
    "path": "include/fiwix/dma.h",
    "chars": 848,
    "preview": "/*\n * fiwix/include/fiwix/dma.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the term"
  },
  {
    "path": "include/fiwix/errno.h",
    "chars": 6385,
    "preview": "#ifndef _FIWIX_ERRNO_H\n#define _FIWIX_ERRNO_H\n\n#define EPERM\t\t1\t/* Operation not permitted - Not owner\t*/\n#define ENOENT"
  },
  {
    "path": "include/fiwix/fb.h",
    "chars": 700,
    "preview": "/*\n * fiwix/include/fiwix/fb.h\n *\n * Copyright 2021, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms"
  },
  {
    "path": "include/fiwix/fbcon.h",
    "chars": 956,
    "preview": "/*\n * fiwix/include/fiwix/fbcon.h\n *\n * Copyright 2021, Jordi Sanfeliu. All rights reserved.\n * Distributed under the te"
  },
  {
    "path": "include/fiwix/fcntl.h",
    "chars": 2360,
    "preview": "/*\n * fiwix/include/fiwix/fcntl.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the te"
  },
  {
    "path": "include/fiwix/fd.h",
    "chars": 857,
    "preview": "/*\n * fiwix/include/fiwix/fd.h\n *\n * Copyright 2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms"
  },
  {
    "path": "include/fiwix/filesystems.h",
    "chars": 8476,
    "preview": "/*\n * fiwix/include/fiwix/filesystems.h\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed u"
  },
  {
    "path": "include/fiwix/floppy.h",
    "chars": 3227,
    "preview": "/*\n * fiwix/include/fiwix/floppy.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the t"
  },
  {
    "path": "include/fiwix/font.h",
    "chars": 504,
    "preview": "/*\n * fiwix/include/fiwix/font.h\n *\n * Copyright 2021, Jordi Sanfeliu. All rights reserved.\n * Distributed under the ter"
  },
  {
    "path": "include/fiwix/fs.h",
    "chars": 8591,
    "preview": "/*\n * fiwix/include/fiwix/fs.h\n *\n * Copyright 2018-2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the "
  },
  {
    "path": "include/fiwix/fs_devpts.h",
    "chars": 595,
    "preview": "/*\n * fiwix/include/fiwix/fs_devpts.h\n *\n * Copyright 2025, Jordi Sanfeliu. All rights reserved.\n * Distributed under th"
  },
  {
    "path": "include/fiwix/fs_ext2.h",
    "chars": 8189,
    "preview": "/*\n * fiwix/include/fiwix/fs_ext2.h\n *\n * This file from: Linux 2.0.40\n * Copyright (C) 1992, 1993, 1994, 1995\n * Remy C"
  },
  {
    "path": "include/fiwix/fs_iso9660.h",
    "chars": 5882,
    "preview": "/*\n * fiwix/include/fiwix/fs_iso9660.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under t"
  },
  {
    "path": "include/fiwix/fs_minix.h",
    "chars": 3949,
    "preview": "/*\n * fiwix/include/fiwix/fs_minix.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the"
  },
  {
    "path": "include/fiwix/fs_pipe.h",
    "chars": 531,
    "preview": "/*\n * fiwix/include/fiwix/fs_pipe.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the "
  },
  {
    "path": "include/fiwix/fs_proc.h",
    "chars": 3057,
    "preview": "/*\n * fiwix/include/fiwix/fs_proc.h\n *\n * Copyright 2018-2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under"
  },
  {
    "path": "include/fiwix/fs_sock.h",
    "chars": 391,
    "preview": "/*\n * fiwix/include/fiwix/fs_sock.h\n *\n * Copyright 2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the "
  },
  {
    "path": "include/fiwix/i386elf.h",
    "chars": 7638,
    "preview": "/*\n * fiwix/include/fiwix/i386elf.h\n */\n\n#ifndef _FIWIX_ELF_H\n#define _FIWIX_ELF_H\n\ntypedef unsigned long\tElf32_Addr;\nty"
  },
  {
    "path": "include/fiwix/ioctl.h",
    "chars": 3070,
    "preview": "/*\n * fiwix/include/fiwix/ioctl.h\n */\n\n#ifndef _FIWIX_IOCTL_H\n#define _FIWIX_IOCTL_H\n\n#define HDIO_GETGEO\t0x0301\t/* get "
  },
  {
    "path": "include/fiwix/ipc.h",
    "chars": 1499,
    "preview": "/*\n * fiwix/include/fiwix/ipc.h\n */\n\n#ifdef CONFIG_SYSVIPC\n\n#ifndef _FIWIX_IPC_H\n#define _FIWIX_IPC_H\n\n#include <fiwix/t"
  },
  {
    "path": "include/fiwix/irq.h",
    "chars": 824,
    "preview": "/*\n * fiwix/include/fiwix/irq.h\n *\n * Copyright 2021-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the"
  },
  {
    "path": "include/fiwix/kd.h",
    "chars": 5613,
    "preview": "/*\n * fiwix/include/fiwix/kd.h\n */\n\n#ifndef _LINUX_KD_H\n#define _LINUX_KD_H\n\n/* Prefix 0x4B is 'K', to avoid collision w"
  },
  {
    "path": "include/fiwix/kernel.h",
    "chars": 4276,
    "preview": "/*\n * fiwix/include/fiwix/kernel.h\n *\n * Copyright 2018-2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under "
  },
  {
    "path": "include/fiwix/kexec.h",
    "chars": 419,
    "preview": "/*\n * fiwix/include/fiwix/kexec.h\n *\n * Copyright 2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the te"
  },
  {
    "path": "include/fiwix/keyboard.h",
    "chars": 4018,
    "preview": "/*\n * fiwix/include/fiwix/keyboard.h\n *\n * Copyright 2018-2021, Jordi Sanfeliu. All rights reserved.\n * Distributed unde"
  },
  {
    "path": "include/fiwix/kparms.h",
    "chars": 929,
    "preview": "/*\n * fiwix/include/fiwix/kparms.h\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under "
  },
  {
    "path": "include/fiwix/limits.h",
    "chars": 1290,
    "preview": "/*\n * fiwix/include/fiwix/limits.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the t"
  },
  {
    "path": "include/fiwix/linker.h",
    "chars": 564,
    "preview": "/*\n * fiwix/include/fiwix/linker.h\n *\n * Copyright 2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the t"
  },
  {
    "path": "include/fiwix/linuxboot.h",
    "chars": 1145,
    "preview": "/*\n * include/fiwix/linuxboot.h\n *\n * Copyright 2024, Richard R. Masters.\n * Distributed under the terms of the Fiwix Li"
  },
  {
    "path": "include/fiwix/locks.h",
    "chars": 652,
    "preview": "/*\n * fiwix/include/fiwix/locks.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the te"
  },
  {
    "path": "include/fiwix/lp.h",
    "chars": 1282,
    "preview": "/*\n * fiwix/include/fiwix/lp.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the terms"
  },
  {
    "path": "include/fiwix/memdev.h",
    "chars": 2702,
    "preview": "/*\n * fiwix/include/fiwix/memdev.h\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under "
  },
  {
    "path": "include/fiwix/mm.h",
    "chars": 3494,
    "preview": "/*\n * fiwix/include/fiwix/mm.h\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the "
  },
  {
    "path": "include/fiwix/mman.h",
    "chars": 2292,
    "preview": "/*\n * fiwix/include/fiwix/mman.h\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under th"
  },
  {
    "path": "include/fiwix/msg.h",
    "chars": 2508,
    "preview": "/*\n * fiwix/include/fiwix/msg.h\n */\n\n#ifdef CONFIG_SYSVIPC\n\n#ifndef _FIWIX_MSG_H\n#define _FIWIX_MSG_H\n\n#include <fiwix/t"
  },
  {
    "path": "include/fiwix/multiboot1.h",
    "chars": 10700,
    "preview": "/* multiboot.h - Multiboot header file. */\n/* Copyright (C) 1999,2003,2007,2008,2009,2010  Free Software Foundation, Inc"
  },
  {
    "path": "include/fiwix/net/ipv4.h",
    "chars": 1726,
    "preview": "/*\n * fiwix/include/fiwix/net/ipv4.h\n *\n * Copyright 2025, Jordi Sanfeliu. All rights reserved.\n * Distributed under the"
  },
  {
    "path": "include/fiwix/net/packet.h",
    "chars": 613,
    "preview": "/*\n * fiwix/include/fiwix/net/packet.h\n *\n * Copyright 2024, Jordi Sanfeliu. All rights reserved.\n * Distributed under t"
  },
  {
    "path": "include/fiwix/net/unix.h",
    "chars": 1932,
    "preview": "/*\n * fiwix/include/fiwix/net/unix.h\n *\n * Copyright 2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the"
  },
  {
    "path": "include/fiwix/net.h",
    "chars": 3436,
    "preview": "/*\n * fiwix/include/fiwix/net.h\n *\n * Copyright 2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the term"
  },
  {
    "path": "include/fiwix/netdevice.h",
    "chars": 315,
    "preview": "/*\n * fiwix/include/fiwix/netdevice.h\n *\n * Copyright 2026, Jordi Sanfeliu. All rights reserved.\n * Distributed under th"
  },
  {
    "path": "include/fiwix/part.h",
    "chars": 788,
    "preview": "/*\n * fiwix/include/fiwix/part.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the ter"
  },
  {
    "path": "include/fiwix/pci.h",
    "chars": 4292,
    "preview": "/*\n * fiwix/include/fiwix/pci.h\n *\n * Copyright 2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the term"
  },
  {
    "path": "include/fiwix/pci_ids.h",
    "chars": 1024,
    "preview": "/*\n * fiwix/include/fiwix/pci_ids.h\n *\n * Copyright 2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the "
  },
  {
    "path": "include/fiwix/pic.h",
    "chars": 884,
    "preview": "/*\n * fiwix/include/fiwix/pic.h\n *\n * Copyright 2018-2021, Jordi Sanfeliu. All rights reserved.\n * Distributed under the"
  },
  {
    "path": "include/fiwix/pit.h",
    "chars": 1688,
    "preview": "/*\n * fiwix/include/fiwix/pit.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the term"
  },
  {
    "path": "include/fiwix/process.h",
    "chars": 5617,
    "preview": "/*\n * fiwix/include/fiwix/process.h\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under"
  },
  {
    "path": "include/fiwix/ps2.h",
    "chars": 2457,
    "preview": "/*\n * fiwix/include/fiwix/ps2.h\n *\n * Copyright 2024, Jordi Sanfeliu. All rights reserved.\n * Distributed under the term"
  },
  {
    "path": "include/fiwix/psaux.h",
    "chars": 944,
    "preview": "/*\n * fiwix/include/fiwix/psaux.h\n *\n * Copyright 2024, Jordi Sanfeliu. All rights reserved.\n * Distributed under the te"
  },
  {
    "path": "include/fiwix/pty.h",
    "chars": 878,
    "preview": "/*\n * fiwix/include/fiwix/pty.h\n *\n * Copyright 2025, Jordi Sanfeliu. All rights reserved.\n * Distributed under the term"
  },
  {
    "path": "include/fiwix/ramdisk.h",
    "chars": 923,
    "preview": "/*\n * fiwix/include/fiwix/ramdisk.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the "
  },
  {
    "path": "include/fiwix/reboot.h",
    "chars": 485,
    "preview": "/*\n * fiwix/include/fiwix/reboot.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the t"
  },
  {
    "path": "include/fiwix/resource.h",
    "chars": 2916,
    "preview": "/*\n * fiwix/include/fiwix/resource.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the"
  },
  {
    "path": "include/fiwix/sched.h",
    "chars": 1305,
    "preview": "/*\n * fiwix/include/fiwix/sched.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the te"
  },
  {
    "path": "include/fiwix/segments.h",
    "chars": 2489,
    "preview": "/*\n * fiwix/include/fiwix/segments.h\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed unde"
  },
  {
    "path": "include/fiwix/sem.h",
    "chars": 3178,
    "preview": "/*\n * fiwix/include/fiwix/sem.h\n */\n\n#ifdef CONFIG_SYSVIPC\n\n#ifndef _FIWIX_SEM_H\n#define _FIWIX_SEM_H\n\n#include <fiwix/t"
  },
  {
    "path": "include/fiwix/serial.h",
    "chars": 4597,
    "preview": "/*\n * fiwix/include/fiwix/serial.h\n *\n * Copyright 2020-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under "
  },
  {
    "path": "include/fiwix/shm.h",
    "chars": 2956,
    "preview": "/*\n * fiwix/include/fiwix/shm.h\n */\n\n#ifdef CONFIG_SYSVIPC\n\n#ifndef _FIWIX_SHM_H\n#define _FIWIX_SHM_H\n\n#include <fiwix/t"
  },
  {
    "path": "include/fiwix/sigcontext.h",
    "chars": 570,
    "preview": "/*\n * fiwix/include/fiwix/sigcontext.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under t"
  },
  {
    "path": "include/fiwix/signal.h",
    "chars": 3195,
    "preview": "/*\n * fiwix/include/fiwix/signal.h\n *\n * Copyright 2018-2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under "
  },
  {
    "path": "include/fiwix/sleep.h",
    "chars": 795,
    "preview": "/*\n * fiwix/include/fiwix/sleep.h\n *\n * Copyright 2018-2021, Jordi Sanfeliu. All rights reserved.\n * Distributed under t"
  },
  {
    "path": "include/fiwix/socket.h",
    "chars": 1349,
    "preview": "/*\n * fiwix/include/fiwix/socket.h\n *\n * Copyright 2023, Jordi Sanfeliu. All rights reserved.\n * Distributed under the t"
  },
  {
    "path": "include/fiwix/stat.h",
    "chars": 2004,
    "preview": "#ifndef _FIWIX_STAT_H\n#define _FIWIX_STAT_H\n\n#include <fiwix/statbuf.h>\n\n/* Encoding of the file mode.  These are the st"
  },
  {
    "path": "include/fiwix/statbuf.h",
    "chars": 1376,
    "preview": "/*\n * fiwix/include/fiwix/statbuf.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the "
  },
  {
    "path": "include/fiwix/statfs.h",
    "chars": 439,
    "preview": "/*\n * fiwix/include/fiwix/statfs.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the t"
  },
  {
    "path": "include/fiwix/stdarg.h",
    "chars": 1429,
    "preview": "/* \nCopyright (C) 1988 Free Software Foundation\n\nThis file is part of GNU CC.\n\nGNU CC is distributed in the hope that it"
  },
  {
    "path": "include/fiwix/stddef.h",
    "chars": 289,
    "preview": "/*\n * fiwix/include/fiwix/stddef.h\n *\n * Copyright 2022, Jordi Sanfeliu. All rights reserved.\n * Distributed under the t"
  },
  {
    "path": "include/fiwix/stdio.h",
    "chars": 418,
    "preview": "/*\n * fiwix/include/fiwix/stdio.h\n *\n * Copyright 2018, Jordi Sanfeliu. All rights reserved.\n * Distributed under the te"
  }
]

// ... and 207 more files (download for full content)

About this extraction

This page contains the full source code of the mikaku/Fiwix GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 407 files (1.5 MB), approximately 601.1k tokens, and a symbol index with 2489 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!