aboutsummaryrefslogtreecommitdiff
path: root/src/kernel/include/ipc.h
blob: c61ec93748eae90709a81e9c2a60b0bee4f3a383 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#pragma once

#include <token.h>
#include <vfs.h>

//  ---- Communication channels

#define CHANNEL_BUFFER_SIZE 1000		// 1000 + other channel_t fields = 1024 - epsilon

typedef struct {
	fs_handle_t *a, *b;
} fs_handle_pair_t;

fs_handle_pair_t make_channel(bool blocking);

//  ---- Tokens for sharing file descriptors between processes

token_t gen_token_for(fs_handle_t *h);
fs_handle_t *use_token(token_t tok);

/* vim: set ts=4 sw=4 tw=0 noet :*/