/*
 * ShufflerProtocol.h
 *  $Id: ShufflerProtocol.h,v 1.2 1996/04/30 21:48:46 abaird Exp $
 */

#ifndef _Shuffler_protocol_h
#define _Shuffler_protocol_h

/*
 * Sorry,
 * the description of the protocol given here, is really terse. But it is so
 * simple that I don't want to bother having runtime vs wiretime descriptions.
 */

typedef struct _ShufflerMessage {
    struct {
	char op ;	/* the command */
	int  status ;	/* a status field */
	int  msgid ;	/* message id - transport is multiplexed here */
    } msg ;
    int  fds[2] ;	/* any associated fds */
} ShufflerMessageRec, *ShufflerMessage ;

/*
 * Valid opcodes:
 */

#define SHUFFLER_FLAG_HASFD	(1<<4) 

#define SHUFFLER_OP_COPY 	(1|SHUFFLER_FLAG_HASFD)
#define SHUFFLER_OP_DONE  	3

#endif /* _Shuffler_protocol_h */
