#ifndef MEMORY_H
#define MEMORY_H
#include "../h/types.h"
typedef struct pgmsg_t {
pd_t *pd;
char pageno;
char segidx; /* e` l'indice di segmento all'interno dell'area di scambio */
} pgmsg_t;
/*
* seg_idx:
* 0 --> segno = SHARSEG, termno = X
* 1 --> segno = PRIVSEG, termno = 1
* 2 --> segno = PRIVSEG, termno = 2
* 3 --> segno = PRIVSEG, termno = 3
* 4 --> segno = PRIVSEG, termno = 4
* 5 --> segno = PRIVSEG, termno = 5
*/
typedef struct frame_t {
struct frame_t *f_next;
pd_t *f_pd; /* puntatore al descrittore della pagina */
unsigned f_frameno : 7, /* numero del frame di pagina */
: 1, /* inutilizzato */
f_pageno : 5, /* numero pagina */
f_segidx : 3 /* indice del segmento nell'area di scambio */
} frame_t;
#endif