aboutsummaryrefslogtreecommitdiff
path: root/kms/client/kms_client.h
blob: 2d188484ff730655d0b55734720c112452a44e82 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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 */