node.texi 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. @node POSIX interface
  2. @chapter POSIX interface
  3. @i{(This chapter was derived from work copyrighted @copyright{}
  4. 1993--2005 by Richard Kelsey, Jonathan Rees, and Mike Sperber.)}
  5. @texonlyindent
  6. This chapter describes Scheme48's interface to POSIX C calls. Scheme
  7. versions of most of the C functions in POSIX are provided. Both the
  8. interface and implementation are new and likely to change significantly
  9. in future releases. The implementation may also contain many bugs.
  10. The POSIX bindings are available in several structures:
  11. @table @code
  12. @stindex posix-processes
  13. @item posix-processes
  14. @code{fork}, @code{exec}, and other process manipulation procedures
  15. @stindex posix-process-data
  16. @item posix-process-data
  17. procedures for accessing information about processes
  18. @stindex posix-files
  19. @item posix-files
  20. POSIX file system access procedures
  21. @stindex posix-i/o
  22. @item posix-i/o
  23. pipes and various POSIX I/O controls
  24. @stindex posix-time
  25. @item posix-time
  26. POSIX time operations
  27. @stindex posix-users
  28. @item posix-users
  29. user and group manipulation procedures
  30. @stindex posix-regexps
  31. @item posix-regexps
  32. POSIX regular expression construction and matching
  33. @stindex posix
  34. @item posix
  35. all of the above
  36. @end table
  37. Scheme48's POSIX interface differs from scsh [Shivers 94; Shivers 96;
  38. Shivers @etal{} 04] in several ways. The interface here lacks scsh's
  39. high-level constructs and utilities such as the process notation,
  40. @code{awk} facility, and parsing utilities. Scheme48 uses disjoint
  41. types for some values that scsh leaves as symbols or simple integers;
  42. these include file types, file modes, and user & group ids. Many of
  43. the names and other interface details are different as well.
  44. @menu
  45. @include posix/menu.texi
  46. @end menu
  47. @include posix/process.texi
  48. @include posix/signal.texi
  49. @include posix/proc-env.texi
  50. @include posix/user-grp.texi
  51. @include posix/host-ident.texi
  52. @include posix/fs.texi
  53. @include posix/time.texi
  54. @include posix/io.texi
  55. @include posix/regexp.texi
  56. @include posix/c-to-scm.texi