ms_sync.h 1.03 KB
/**************************************************************************
 *									  *
 *		 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);