spawn.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef GRASS_SPAWN_H
  2. #define GRASS_SPAWN_H
  3. #include <sys/types.h>
  4. #include <sys/stat.h>
  5. #include <fcntl.h>
  6. #define SF_MODE_IN ((const char *) (O_RDONLY))
  7. #define SF_MODE_OUT ((const char *) (O_WRONLY|O_CREAT|O_TRUNC))
  8. #define SF_MODE_APPEND ((const char *) (O_WRONLY|O_CREAT|O_APPEND))
  9. #define SF_STDIN ((const char *) STDIN_FILENO)
  10. #define SF_STDOUT ((const char *) STDOUT_FILENO)
  11. #define SF_STDERR ((const char *) STDERR_FILENO)
  12. #define SF_REDIRECT_FILE ((const char *) 1)
  13. #define SF_REDIRECT_DESCRIPTOR ((const char *) 2)
  14. #define SF_CLOSE_DESCRIPTOR ((const char *) 3)
  15. #define SF_SIGNAL ((const char *) 4)
  16. #define SF_VARIABLE ((const char *) 5)
  17. #define SF_BINDING ((const char *) 6)
  18. #define SF_BACKGROUND ((const char *) 7)
  19. #define SF_DIRECTORY ((const char *) 8)
  20. #define SF_ARGVEC ((const char *) 9)
  21. enum signal_action
  22. {
  23. SSA_NONE,
  24. SSA_IGNORE,
  25. SSA_DEFAULT,
  26. SSA_BLOCK,
  27. SSA_UNBLOCK,
  28. };
  29. enum signal_type
  30. {
  31. SST_PRE,
  32. SST_POST,
  33. SST_CHILD,
  34. };
  35. extern int G_spawn(const char *command, ...);
  36. extern int G_spawn_ex(const char *command, ...);
  37. extern int G_vspawn_ex(const char *command, const char **args);
  38. #endif