tproc.h


/*************************************************************************
*                                                                        *
*   Header: tproc.h                                                      *
*                                                                        *
*   realizzato dal Gruppo 17 di Lab2 Anno Accademico 1995/96             *
*                                                                        *
*   Lorenzo     Claudio       Valerio    Riccardo    Emiliano            *
*   Coronati    Lanconelli    Paolini    Solmi       Trentini            *
*                                                                        *
**************************************************************************/

#ifndef _TPROC_H
#define _TPROC_H

#include "../h/syscallt.h"

typedef struct tproc_t {
    /* thread che ha creato il T-process (init) */
    thr_t *T_parent;
    
    /* identificatore del process */
    void *T_process;

    /* i thread che compongono il T-process */
    thr_t *T_mainthread;
    thr_t *T_sysservt;
    thr_t *T_memmant;
    thr_t *T_progt;
    thr_t *T_syscallt;

    /* dati per il syscall thread */
    vqueue_t *T_waitsend;            /* Wait for a VSend queue */
    vqueue_t *T_waitrecv;            /* Wait for a VRecv queue */
    vqueue_t *T_waitrply;            /* Wait for a VReply queue */

    vqueue_t *T_vqfp;                /* VQueue free pointer */
    vqueue_t T_vqueue[VQUEUENO]; /* VQueue table */
    vmsg_t T_vbuffers[VBUFNO];

    /* dati riguardanti la memoria virtuale */
    sd_t T_usrsegtable[NOSEGS];     /* tabella dei segmenti in user-mode */
    sd_t T_supsegtable[NOSEGS];     /* tabella dei segmenti del support level */
    pd_t T_segPpagetable[NOPAGES];  /* tabella di pagine del segmento privato */
} tproc_t;

#endif


[INDICE CODICE]