swaylock/include/comm.h
2024-11-09 10:05:16 -06:00

31 lines
675 B
C

#ifndef _SWAYLOCK_COMM_H
#define _SWAYLOCK_COMM_H
#include <stdbool.h>
struct swaylock_password;
enum conn_reply_kind {
REPLY_SUCCESS,
REPLY_AUTH_ERR,
REPLY_CONTINUE,
REPLY_MSG,
};
struct comm_reply {
enum conn_reply_kind kind;
char pam_msg[256];
};
bool spawn_comm_child(void);
ssize_t read_comm_request(char **buf_ptr);
bool write_comm_reply(struct comm_reply reply);
// Requests the provided password to be checked. The password is always cleared
// when the function returns.
bool write_comm_request(struct swaylock_password *pw);
struct comm_reply read_comm_reply(void);
// FD to poll for password authentication replies.
int get_comm_reply_fd(void);
#endif