aboutsummaryrefslogtreecommitdiffstats
path: root/src/protocol.h
blob: fb3af96b6f9a813daff354a4edb01065ba13f212 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef _RUNES_PROTOCOL_H
#define _RUNES_PROTOCOL_H

#include <stdint.h>

#define RUNES_PROTOCOL_MESSAGE_VERSION 1

struct runes_protocol_message {
    uint32_t argc;
    char **argv;
    char **envp;
    char *cwd;
};

int runes_protocol_parse_message(
    char *buf, size_t len, struct runes_protocol_message *outmsg);
int runes_protocol_create_message(
    struct runes_protocol_message *msg, char **outbuf, size_t *outlen);
void runes_protocol_free_message(struct runes_protocol_message *msg);
int runes_protocol_read_packet(int sock, char **outbuf, size_t *outlen);
int runes_protocol_send_packet(int s, char *buf, size_t len);

#endif