aboutsummaryrefslogtreecommitdiff
path: root/kms/client/kms_client.h
diff options
context:
space:
mode:
Diffstat (limited to 'kms/client/kms_client.h')
-rw-r--r--kms/client/kms_client.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/kms/client/kms_client.h b/kms/client/kms_client.h
new file mode 100644
index 0000000..2d18848
--- /dev/null
+++ b/kms/client/kms_client.h
@@ -0,0 +1,24 @@
+#ifndef GSR_KMS_CLIENT_H
+#define GSR_KMS_CLIENT_H
+
+#include "../kms_shared.h"
+#include <sys/types.h>
+#include <limits.h>
+
+typedef struct gsr_kms_client gsr_kms_client;
+
+struct gsr_kms_client {
+ pid_t kms_server_pid;
+ int initial_socket_fd;
+ int initial_client_fd;
+ char initial_socket_path[PATH_MAX];
+ int socket_pair[2];
+};
+
+/* |card_path| should be a path to card, for example /dev/dri/card0 */
+int gsr_kms_client_init(gsr_kms_client *self, const char *card_path);
+void gsr_kms_client_deinit(gsr_kms_client *self);
+
+int gsr_kms_client_get_kms(gsr_kms_client *self, gsr_kms_response *response);
+
+#endif /* #define GSR_KMS_CLIENT_H */