/* ACRAI4.f -- translated by f2c (version 19960827).
   You must link the resulting object file with the libraries:
	-lf2c -lm   (in that order)
*/

#include "Data_f2c.h"
#include <SysBase.h>
/* Table of constant values */

/*static integer c__4 = 4;*/

/* Subroutine */ __SysBase_API int macrai4_(nbelem, maxelm, itablo, iofset, iercod)
integer *nbelem, *maxelm, *itablo, *iercod;
long int *iofset;
{
    extern /* Subroutine */ int mcrrqst_();


/* < */
/* **NOTICE */
/*  THIS SOFTWARE IS THE PROPERTY OF CISIGRAPH. */
/*  THIS CODE MUST NOT BE DISTRIBUTED OR COPIED WITHOUT THE PRIOR */
/*  WRITTEN PERMISSION OF CISIGRAPH AND IS ONLY TO BE USED ON THE */
/*  SITE WHERE IT IS INSTALLED BY CISIGRAPH */
/* **NOTICE */

/* ***********************************************************************
 */

/*     FONCTION : */
/*     ---------- */
/*       Demande d'allocation dynamique de type INTEGER */

/*     MOTS CLES : */
/*     ----------- */
/*       SYSTEME, ALLOCATION, MEMOIRE, REALISATION */

/*     ARGUMENTS D'ENTREE : */
/*     -------------------- */
/*       NBELEM : Nombre d'unites demandes */
/*       MAXELM : Nombre maxi d'unites disponibles dans ITABLO */
/*       ITABLO : Adresse de reference de la zone allouee */

/*     ARGUMENTS DE SORTIE : */
/*     --------------------- */
/*       IOFSET : Decalage */
/*       IERCOD : Code d'erreur */
/*               = 0 : OK */
/*               = 1 : Nbre maxi d'allocs atteint */
/*               = 2 : Arguments incorrects */
/*               = 3 : Refus d'allocation dynamique */

/*     COMMONS UTILISES : */
/*     ------------------ */

/*     REFERENCES APPELEES : */
/*     --------------------- */
/*        MCRRQST */

/*     DESCRIPTION/REMARQUES/LIMITATIONS : */
/*     ----------------------------------- */
/*     (Cf description dans l'entete de MCRRQST) */

/*     Le tableau ITABLO doit etre dimensionne a MAXELM par l'appelant. */
/*     Si la demande est inferieure ou egale a MAXELM, IOFSET rendu = 0. 
*/
/*     Sinon, la demande d'allocation est effective et IOFSET > 0. */

/* $    HISTORIQUE DES MODIFICATIONS : */
/*     ------------------------------ */
/*       16-10-91 : DGZ ; Recuperation version FBI */
/* > */
/* ***********************************************************************
 */
 
    integer  iunit; 
    /* Parameter adjustments */
    --itablo;


    iunit = sizeof(integer);    
    /* Function Body */
    if (*nbelem > *maxelm) {
	mcrrqst_(&iunit, nbelem, &itablo[1], iofset, iercod);
    } else {
	*iercod = 0;
	*iofset = 0;
    }
 return 0 ;
} /* macrai4_ */

