libcm is a C development framework with an emphasis on audio signal processing applications.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

cmExec.h 905B

12345678910111213141516171819202122232425262728293031323334
  1. //| Copyright: (C) 2009-2020 Kevin Larke <contact AT larke DOT org>
  2. //| License: GNU GPL version 3.0 or above. See the accompanying LICENSE file.
  3. #ifndef cmExec_h
  4. #define cmExec_h
  5. #ifdef __cplusplus
  6. extern "C" {
  7. #endif
  8. //( file_desc:"Run a child process via 'execvp()'" kw[system]
  9. enum
  10. {
  11. kOkExRC,
  12. kInvalidPgmFnExRC, // pgmFn was NULL
  13. kForkFailExRC, // internal fork() failed
  14. kExecFailExRC, // internal exec() failed.
  15. kPgmFailExRC, // pgm returned a non-zero exit status
  16. kWaitFailExRC // internal waitpid() failed
  17. };
  18. typedef unsigned cmExRC_t;
  19. // If returnValRef is non-NULL *returnValRef is set to the program return value.
  20. cmExRC_t cmExecV( cmErr_t* err, int* returnValRef, const cmChar_t* pgmFn, va_list vl );
  21. cmExRC_t cmExec( cmErr_t* err, int* returnValRef, const cmChar_t* pgmFn, ... );
  22. //)
  23. #ifdef __cplusplus
  24. }
  25. #endif
  26. #endif