# User guide

Warning

The contents of this guide have been recently incorporated into the libuv documentation and it hasn’t gone through thorough review yet. If you spot a mistake please file an issue, or better yet, open a pull request!

- Introduction
  - Who this book is for
  - Background
  - Code
- Basics of libuv
  - Event loops
  - Hello World
  - Error handling
  - Handles and Requests
- Filesystem
  - Reading/Writing files
  - Filesystem operations
  - Buffers and Streams
  - File change events
- Networking
  - TCP
  - UDP
  - Querying DNS
  - Network interfaces
- Threads
  - Core thread operations
  - Synchronization Primitives
  - libuv work queue
  - Inter-thread communication
- Processes
  - Spawning child processes
  - Changing process parameters
  - Detaching processes
  - Sending signals to processes
  - Signals
  - Child Process I/O
  - Parent-child IPC
- Advanced event loops
  - Stopping an event loop
- Utilities
  - Timers
  - Event loop reference count
  - Idler pattern
  - Passing data to worker thread
  - External I/O with polling
  - Check & Prepare watchers
  - Loading libraries
  - TTY
- About