#
# Some AUP examples coded in ATS
#

######

AUP_2_4_3: Using a file as a lock
AUP_2_13: lseek System Calls
AUP_2_14: pread and pwrite System Calls

######

AUP_3_4: Pathnames
AUP_3_5: Accessing and Displaying File Metadata
AUP_3_6_4: Implementing getcwd (walking up the tree)

######

AUP_4_2_1: Reading from a Terminal
AUP_4_2_2_1: Nonblocking Input
AUP_4_2_2_2: Nonblocking Input
AUP_4_2_3: select System Call
AUP_4_3_5: Session-related System Calls
AUP_4_7: Terminal-Identification System Calls
AUP_4_8: Full-Screen Applications

######

AUP_5_2: Environment (getenv, putenv, setenv, unsetenv)
AUP_5_4: Implementing a Shell (Version 1)
AUP_5_6: Implementing a Shell (Version 2)
AUP_5_10: Implementing a Shell (Version 3)
AUP_5_11: Getting User and Group IDs
AUP_5_15: Getting and Setting the Priority
AUP_5_17_3: Thread Synchronization (Mutexes)

######

AUP_6_3_1: dup and dup2 System Calls
AUP_6_5: Two-Way Communication with Unidirectional Pipes

######

AUP_8_1_1: How Sockets Work
AUP_8_1_3: Handling Multiple Clients
AUP_8_1_4: Byte Order
AUP_8_2_3: AF_INET Socket Addresses
AUP_8_2_6: getaddrinfo
AUP_8_3: Socket Options
AUP_8_8_1_1: Host Functions

######

AUP_9_1_1: Introduction to Signals
AUP_9_1_7: Signal Handlers
AUP_9_2_3: sigsuspend System Call
AUP_9_7_1: alarm System Call
AUP_9_7_2: sleep System Call
AUP_9_7_4: Baisc Interval-Timer System Calls
AUP_9_7_5: Realtime Clocks

###### end of [README] ######
