Unison Help
![](https://rowebots.com/wp-content/plugins/documentor/skins/default/images/search.png)
- Unison Kernel
- Pthreads
- pthread_create()
- pthread_exit()
- pthread_self()
- pthread_equal()
- pthread_join()
- pthread_detach()
- pthread_setschedparam()
- pthread_getschedparam()
- pthread_attr_init()
- pthread_attr_destroy()
- pthread_attr_setstackaddr()
- pthread_attr_getstackaddr()
- pthread_attr_setstacksize()
- pthread_attr_getstacksize()
- pthread_attr_setschedparam()
- pthread_attr_getschedparam()
- pthread_attr_setdetachstate()
- pthread_attr_getdetachstate()
- pthread_stackinfo()
- pthread_setprio()
- pthread_getprio()
- sched_get_priority_max()
- sched_get_priority_min()
- sched_yield()
- Pthread Cancellation
- Mutex
- Semaphores
- Message Queues
- Conditional Variables
- Barriers
- Timers
- Clocks
- Memory Allocation
- Rendezvous
- Interrupts
- Directory Services
- Miscellaneous
- Pthreads
- Unison I/O Library
- Unison STDIO Library
- STDIO Library Calls
- clearerr()
- dprintf()
- fclose()
- fdopen()
- feof()
- ferror()
- fileno()
- fflush()
- fgetc()
- fgetpos()
- fgets()
- fopen()
- fprintf()
- fputc()
- fputs()
- fread()
- freopen()
- fscanf()
- fseek()
- fseeko()
- fsetpos()
- ftell()
- ftello()
- fwrite()
- getc()
- getc_unlocked()
- getchar()
- getchar_unlocked()
- getdelim()
- getline()
- gets()
- get_stderr_ptr()
- get_stdin_ptr()
- get_stdout_ptr()
- noperprintf()
- perprintf()
- perror()
- posix_compat()
- printf()
- putc()
- putc_unlocked()
- putchar()
- putchar_unlocked()
- puts()
- remove()
- rewind()
- scanf()
- setbuf()
- setvbuf()
- snprintf()
- sprintf()
- sscanf()
- stderr_init()
- stderr_close()
- stdin_init()
- stdin_close()
- stdout_init()
- stdout_close()
- vdprintf()
- vscanf()
- vsscanf()
- vfscanf()
- vprintf()
- vsnprintf()
- vsprintf()
- vfprintf()
- ungetc()
- Do-nothing Stubs
- STDIO Library Calls
- Unison LIBC Library
- Unison I/O Servers
- Graphics, Camera, Video, Audio
- Network Protocols
- TCP and UDP Server - tcpd
- DHCP Client Service - dhcp client
- DHCP Server - dhcpd
- Telnet Server - telnetd
- Tiny FTP Server - tftpd
- Point to Point - pppd
- Network Translation - NAT with PAT
- Firewall
- Tiny HTTP Server - thttpd
- Tiny HTTP Server with TLS
- POP3 Server
- Simple Mail Transfer Protocol Services (SMTP)
- Bootp Protocol
- File Transfer Protocol Server (FTP)
- File Transfer Client Services
- RPC / XDR
- DNS Client
- HTTP/HTTPS Client
- REST Client
- AutoIP Service - autoip client
- mDNS server - mdnsd
- SNTP Client
- SNMP Agent - Snmpd server
- SSL/TLS library
- SSH server
- IP security
- Power Control
- Serial I/O
- System Services
- Universal Serial Bus (USB)
- Wireless
- Remedy Tools for Unison
1.14.4. Kernel Scaling #
NAME
Nanokernel Scaling
Using conditional compilation, the Unison Nanokernel can have features added and removed, changing its size and capabilities.
SYNOPSIS
Description
The Unison Nanokernel can be scaled to reduce its’ memory footprint and can be tailored to meet specific requirements. The means to do this tailoring is entirely by using conditional compilation and rebuilding the library that comes with your release. The various options are discussed below.
Compile Time Options
Pool Options
- HEAP_BOUNDS
- Add heap bounds checking for first fit memory pool.
- DEBUGON
- Turn on basic error message reporting using xprintf for the first fit memory pool.
- VERBOSE
- Turn on verbose error message reporting using xprintf for the first fit memory pool.
POSIX Features
- _POSIX_MESSAGE_PASSING
- Include POSIX message passing features
- _POSIX_THREAD_PRIORITY_SCHEDULING
- Support priority thread scheduling.
- _POSIX_TIMERS
- Include POSIX timers in the system.
- _POSIX_TIMEOUTS
- Include POSIX timeouts in the system.
- _POSIX_THREAD_PRIO_INHERIT
- Inherit the parent’s thread priority.
- _POSIX_THREAD_ATTR_STACKADDR
- Include the stackaddr attribute as an option.
- _POSIX_THREAD_ATTR_STACKSIZE
- Include the stacksize attribute as an option.
Advanced Options
- MULTIPROC
- Select multicore operation, use only with factory collaboration.
- DLOG_SUPPORT
- Include datalogging support.
- PACK
- Used for Word oriented machines to pack characters in a word.
- _TARTAN
- Used for Word oriented machines to adapt for the compiler.
MCU, MPU, and Softcore Options
- M16C
- Renesas M16C and R8C support.
- _RX
- Renesas RX support.
- NC100
- Renesas RXNC100 support
- _SH2A
- Renesas SH2A support.
- _SH2AFPU
- Renesas SH2A with FPU support.
- _R32C100
- Renesas R32C100 support.
- _MICROBLAZE
- Xilinx Microblaze softcore support.
- _ARMCORTEXM0_
- Reserved.
- _ARMCORTEXM1_
- Reserved.
- _ARMCORTEXM3_
- ARM Cortex M3 support.
- _ARMCORTEXM4_
- ARM Cortex M4 support.
- _ARMCORTEXA5_
- Reserved.
- _ARMCORTEXA8_
- ARM Cortex A8 support.
- _ARMCORTEXA9_
- Reserved.
- _ARMCORTEXR4_
- Reserved.
- _PIC24_
- Microchip PIC24 support.
- _dsPIC30_
- Microchip dsPIC30/33 support.
- _PIC32MX
- Microchip PIC32 support.