/*
Copyright (c) 1993 Xerox Corporation.  All rights reserved.
*/
/*
$Id$

$Date$
*/
/* Chauser, October 28, 1993 3:29 pm PDT */


/*
 * PCR stdiom.h -- monitored stdio streams
 */

#ifndef ←←PCR←stdiom←h
#define ←←PCR←stdiom←h

#include <stdio.h>
#include <signal.h>


extern FILE *
PCR←Stdiom←Create(FILE *stream);
/*
    Create a monitored stream from a normal (unmonitored) one.
*/

extern PCR←Bool
PCR←Stdiom←IsMonitored(FILE *stream);
/*
    Return PCR←Bool←true iff stream is monitored.
*/

extern PCR←ERes
PCR←Stdiom←Lock(
    FILE *stream,
    FILE **lockedStream,
    const PCR←sigset←t *sigMask,
    PCR←Msec wakeup
);
/*
    Lock stream, returning a locked, usable stream in *lockedStream.
    This must be followed by a call to PCR←Stdiom←Unlock(stream) using
      the original (not the locked) stream.
*/

extern PCR←ERes
PCR←Stdiom←Unlock(FILE *stream);
/*
    Unlock a previously locked stream.
*/


#endif /* ←←PCR←stdiom←h */

/*
$Log$
*/