ms_sync.h
1.03 KB
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
28
29
30
31
32
33
34
35
36
37
38
/**************************************************************************
* *
* Copyright (C) 1993, Silicon Graphics, Inc. *
* *
* These coded instructions, statements, and computer programs contain *
* unpublished proprietary information of Silicon Graphics, Inc., and *
* are protected by Federal copyright law. They may not be disclosed *
* to third parties or copied or duplicated in any form, in whole or *
* in part, without the prior written consent of Silicon Graphics, Inc. *
* *
**************************************************************************/
/*
* ms_sync.h $Revision: 1.2 $
*
* master/slave syncronization routines
*/
#define MAXSLAVES 32
typedef struct
{
long num_slaves;
long slave[MAXSLAVES];
long active[MAXSLAVES];
#ifdef __linux__
int semaphore;
int key;
#endif
} ms_sync_t;
extern volatile ms_sync_t *ms;
void ms_init_master(long num_slaves);
void ms_init_slave(long id);
void ms_master_sync();
void ms_slave_sync(long id);