private.h 954 B

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