summaryrefslogtreecommitdiff
path: root/dist.h
blob: b7758cf17995c886a79ebe616cd2a0de9fb36d04 (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
25
26
27
#ifndef __IFMO_DISTRIBUTED_CLASS_DIST__H
#define __IFMO_DISTRIBUTED_CLASS_DIST__H

#include "pa23.h"
#include "banking.h"

#define MAX_PIPES   ( MAX_PROCCNT ) * ( MAX_PROCCNT - 1 )

typedef struct {
  int     pipes[MAX_PIPES][2];
  uint8_t proccnt;
  uint8_t x;
  balance_t balances[MAX_X];

  FILE* events_log;
  FILE* pipes_log;
  pid_t parent_pid;
} dist_info_t;

typedef struct {
  int id;
  dist_info_t *dist_info;
} my_info_t;

void close_redundant_pipes( dist_info_t *info, uint8_t id );

#endif