private.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef _klish_ktp_private_h
  2. #define _klish_ktp_private_h
  3. #include <faux/net.h>
  4. #include <faux/async.h>
  5. #include <faux/msg.h>
  6. #include <klish/ktp_session.h>
  7. typedef enum {
  8. KTPD_SESSION_STATE_DISCONNECTED = 'd',
  9. KTPD_SESSION_STATE_NOT_AUTHORIZED = 'a',
  10. KTPD_SESSION_STATE_IDLE = 'i',
  11. KTPD_SESSION_STATE_WAIT_FOR_PROCESS = 'p',
  12. } ktpd_session_state_e;
  13. struct ktpd_session_s {
  14. ktpd_session_state_e state;
  15. uid_t uid;
  16. gid_t gid;
  17. char *user;
  18. faux_async_t *async;
  19. faux_session_stall_cb_f stall_cb; // Stall callback
  20. void *stall_udata;
  21. faux_msg_t *partial_msg; // Engine will receive header and then msg
  22. };
  23. typedef enum {
  24. KTP_SESSION_STATE_DISCONNECTED = 'd',
  25. KTP_SESSION_STATE_NOT_AUTHORIZED = 'a',
  26. KTP_SESSION_STATE_IDLE = 'i',
  27. KTP_SESSION_STATE_WAIT_FOR_COMPLETION = 'v',
  28. KTP_SESSION_STATE_WAIT_FOR_HELP = 'h',
  29. KTP_SESSION_STATE_WAIT_FOR_CMD = 'c',
  30. } ktp_session_state_e;
  31. struct ktp_session_s {
  32. ktp_session_state_e state;
  33. faux_net_t *net;
  34. };
  35. struct ktpd_clients_s {
  36. faux_list_t *list;
  37. };
  38. #endif // _klish_ktp_private_h