ktp.h 686 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /** @file ktp.h
  2. *
  3. * @brief Klish Transfer Protocol
  4. */
  5. #ifndef _klish_ktp_h
  6. #define _klish_ktp_h
  7. #include <faux/msg.h>
  8. #define KTP_MAGIC 0x2050544b
  9. #define KTP_MAJOR 0x01
  10. #define KTP_MINOR 0x00
  11. typedef enum {
  12. KTP_NULL = '\0',
  13. KTP_STDIN = 'i',
  14. KTP_STDOUT = 'o',
  15. KTP_STDERR = 'e',
  16. KTP_CMD = 'c',
  17. KTP_CMD_ACK = 'C',
  18. KTP_COMPLETION = 'v',
  19. KTP_COMPLETION_ACK = 'V',
  20. KTP_HELP = 'h',
  21. KTP_HELP_ACK = 'H',
  22. KTP_NOTIFICATION = 'n',
  23. KTP_EXIT = 'x',
  24. KTP_AUTH = 'a',
  25. KTP_AUTH_ACK = 'A',
  26. KTP_KEEPALIVE = 'k',
  27. } ktp_cmd_e;
  28. C_DECL_BEGIN
  29. int ktp_connect_unix(const char *sun_path);
  30. void ktp_disconnect(int fd);
  31. int ktp_accept(int listen_sock);
  32. C_DECL_END
  33. #endif // _klish_ktp_h