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

$Date$
 */

/*
 * PCR support for SV-style shared memory.
 *
 * Host Dependent.
 */

#ifndef	←←PCR←ShmSV←h
#define ←←PCR←ShmSV←h 1

#include <config/PCR←StdTypes.h>
#include <config/PCR←OS.h>

#if (PCR←OS←SHMOPS)
#   define PCR←ShmSV←IMPL	1
#else
#   define PCR←ShmSV←IMPL       0
#endif

#include <th/PCR←ThTypes.h>


#if defined(PCR←OS←SUNOS4) || defined(PCR←OS←SUNOS5)
#   include <host/sys/types.h>
#   include <host/sys/ipc.h>
#   include <host/sys/shm.h>
#endif



#if (PCR←ShmSV←IMPL)

extern PCR←ERes
PCR←ShmSV←GetPageSize(void);


extern PCR←ERes
PCR←ShmSV←ShmGet(
    int key, int size, int shmflag
);


extern PCR←ERes
PCR←ShmSV←ShmAt(
    int id, void * addr, int flags, void **where
);


extern PCR←ERes
PCR←ShmSV←ShmDt(
    void * addr
);



extern PCR←ERes
PCR←ShmSV←ShmCtl(
    int shmid, int cmd, struct shmid←ds *buf
);


#elif defined(PCR←NO←HOSTDEP←ERR)
    /* ... */
#else
#   error ShmSV unimplemented for this host / os
#endif

#endif /* !←←PCR←ShmSV←h */

/*
$Log$
*/