/usr/include/wvstreams/wvmagiccircle.h is in libwvstreams-dev 4.6.1-2build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | /* -*- Mode: C++ -*-
* Worldvisions Weaver Software:
* Copyright (C) 1997-2002 Net Integration Technologies, Inc.
*
* A circular queue that can be accessed across fork().
*/
#ifndef __WVMAGICCIRCLE_H
#define __WVMAGICCIRCLE_H
#include "wvshmzone.h"
/** A circular queue that can be accessed across fork(). */
class WvMagicCircle : public WvErrorBase
{
public:
/**
* Creates a shared memory circular queue.
*
* "size" is the number of elements to store
*/
WvMagicCircle(size_t size);
~WvMagicCircle();
protected:
WvShmZone shm;
volatile int &head, &tail;
int size;
char *circle;
public:
size_t used();
size_t left()
{ return size - used() - 1; }
size_t put(const void *data, size_t len);
size_t get(void *data, size_t len);
size_t skip(size_t len);
public:
const char *wstype() const { return "WvMagicCircle"; }
};
#endif // __WVMAGICCIRCLE_H
|