Instrument Neutral Distributed Interface INDI  2.0.2
Classes | Macros | Typedefs | Functions
sharedblob.c File Reference
#include <pthread.h>
#include <stdlib.h>
#include <errno.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/mman.h>

Go to the source code of this file.

Classes

struct  shared_buffer
 

Macros

#define _GNU_SOURCE
 
#define BLOB_SIZE_UNIT   0x100000
 

Typedefs

typedef struct shared_buffer shared_buffer
 

Functions

void * IDSharedBlobAlloc (size_t size)
 
void * IDSharedBlobAttach (int fd, size_t size)
 
void IDSharedBlobFree (void *ptr)
 
void IDSharedBlobDettach (void *ptr)
 
void * IDSharedBlobRealloc (void *ptr, size_t size)
 
int IDSharedBlobGetFd (void *ptr)
 
void IDSharedBlobSeal (void *ptr)
 

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE

INDI Copyright (C) 2022 by Ludovic Pollet

This library is free software; you can redistribute it and / or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110 - 1301 USA

Definition at line 23 of file sharedblob.c.

◆ BLOB_SIZE_UNIT

#define BLOB_SIZE_UNIT   0x100000

Definition at line 41 of file sharedblob.c.

Typedef Documentation

◆ shared_buffer

typedef struct shared_buffer shared_buffer

Function Documentation

◆ IDSharedBlobAlloc()

void* IDSharedBlobAlloc ( size_t  size)

Definition at line 70 of file sharedblob.c.

◆ IDSharedBlobAttach()

void* IDSharedBlobAttach ( int  fd,
size_t  size 
)

Definition at line 106 of file sharedblob.c.

◆ IDSharedBlobDettach()

void IDSharedBlobDettach ( void *  ptr)

Definition at line 154 of file sharedblob.c.

◆ IDSharedBlobFree()

void IDSharedBlobFree ( void *  ptr)

Definition at line 132 of file sharedblob.c.

◆ IDSharedBlobGetFd()

int IDSharedBlobGetFd ( void *  ptr)

Definition at line 241 of file sharedblob.c.

◆ IDSharedBlobRealloc()

void* IDSharedBlobRealloc ( void *  ptr,
size_t  size 
)

Definition at line 171 of file sharedblob.c.

◆ IDSharedBlobSeal()

void IDSharedBlobSeal ( void *  ptr)

Definition at line 257 of file sharedblob.c.