/****************************************************************************
* gshm.h
* basic interface for UNIX shared memory interface.
*
* Change Log :
* Mar. 16, 1998 Initial version, Liujian Qian
*
* $Id: gshmem.h,v 1.1.1.1 1998/05/21 05:37:26 qian Exp $
***************************************************************************/
#ifndef _GSHMEM_H_
#define _GSHMEM_H_
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include "gcxx.h"
/**
* GShmem is an abstraction for a shared memory segment.
*
*
*/
class GShmem
{
char* _base;
int _id;
uint32 _size;
public:
NOP GShmem() : _base(0), _id(0), _size(0) {}
NOP ~GShmem() {}
int id() const {return _id; }
uint32 size() const {return _size; }
char* base() const {return _base; }
Result create(uint32 sz, mode_t mode = 0644);
Result destroy();
Result attach(int id);
Result detach();
Result set(uid_t uid=0, gid_t gid=0, mode_t mode=0);
void setIntValue(int off, int v);
void clean();
};
#endif
Documentation generated by lqian@lqian-sun on Wed Jul 14 09:36:10 EDT 1999