forked from danielss24/SOPER
-
Notifications
You must be signed in to change notification settings - Fork 0
/
shared_memory.h
39 lines (35 loc) · 1.05 KB
/
shared_memory.h
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include "semaforos.h"
#include <sys/ipc.h>
#include <errno.h>
#include <sys/shm.h> /* shm* */
#include <wait.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <fcntl.h>
#include <unistd.h>
#include "semaforos.h"
#include "caballo.h"
#include "gestor_apuestas.h"
typedef struct _estructura_memoria_compartida{
int shmid;
int semaforo_id;
caballos caballos_creados;
gestor_apuestas g_apuestas;
}estructura_memoria_compartida;
typedef struct info{
int shmid;
int * semaforo;
void * contenido;
}informacion;
/*tamanio en N bytes(del contenido de la struct info)*/
/*el parametro key es necesario para poder asociar la memoria con otra que tenga la misma clave*/
/*!!!!Ojo, el puntero a char devuelto es conveniente hacerle un cast a informacion **/
/*El semaforo se inicializa dentro de la funcion,y se libera tb con destruir*/
char * crea_o_asocia_shm(int key,int * semaforo,int tamannio);
void destruye_shm(char * informacion);