Sha256: 326bfcba42b8d60244bff4dee510ca6b57ea517ba16feb68ac5d72793fd097fe

Contents?: true

Size: 984 Bytes

Versions: 1

Compression:

Stored size: 984 Bytes

Contents

#ifndef MQUEUE
#define MQUEUE

#include <ruby.h>
#include <fcntl.h>      /* Defines O_* constants */
#include <sys/stat.h>   /* Defines mode constants */
#include <mqueue.h>
#include <unistd.h>
#include <time.h>
#include <pthread.h>

typedef struct {
  mqd_t queue_descriptor;
  struct mq_attr attributes;
  char* queue_name;
} mqueue_t;

static void free_mqueue(void*);
size_t size_mqueue(const void*);
long generate_flags(VALUE);
static void notification_function(union sigval);

static const rb_data_type_t
mqueue_data_type = {
  "mqueue_data_type",
  {
    0,
    free_mqueue,
    size_mqueue
  }
};

void Init_mqueue();
static VALUE alloc_mqueue(VALUE);
VALUE  mqueue_initialize(int, VALUE*, VALUE);

VALUE mqueue_send(VALUE, VALUE);
VALUE mqueue_receive(VALUE);
VALUE mqueue_timedsend(int, VALUE*, VALUE);
VALUE mqueue_timedreceive(int, VALUE*, VALUE);
VALUE mqueue_size(VALUE);
VALUE mqueue_capacity(VALUE);
VALUE mqueue_max_msgsize(VALUE);
VALUE mqueue_delete(VALUE);

#endif

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mqueue-0.1.0 ext/mqueue/mq.h