home *** CD-ROM | disk | FTP | other *** search
- /* (c) 1985, Phoenix Computer Products Corp. and Novum Organum, Inc. */
- /***
- * Name: membiggive -- allocate memory
- *
- * Synopsis: int rc, membiggive();
- * sizetype nbytes;
- * ushort seg, off;
- *
- * rc = membiggive( nbytes, &seg, &off );
- *
- * Description: Passes call to memgive() in large data models, and
- * to memfargive() in small data models.
- *
- * Returns: RC_SUCCESS or RC_FAIL.
- *
- * (C) Novum Organum, Inc. 1985
- *
- ***/
-
- #include "pdefs.h"
-
- ushort dsreg(), csreg(), sydptrse(), sydptrof();
-
- int membiggive( nbytes, pseg, poff )
- uint nbytes;
- ushort *pseg, *poff;
- {
- ushort memfargive(), sydptrse(), sydptrof(), sypsp();
- char *ppp, *memgivetrap();
- int rc;
-
- /*
- if ( syldata() )
- {
- */
- ppp = memgivetrap( (int)nbytes );
- *pseg = sydptrse( ppp );
- *poff = sydptrof( ppp );
- /*
- }
- else
- {
- sysetblk( dsreg()+0x1000-sypsp() );
- *pseg = memfargive( (nbytes+15) >> 4 );
- *poff = 0;
- }
- */
- rc = RC_FAIL;
- if ( *pseg )
- rc = RC_SUCCESS;
-
- return ( rc );
- }
-
-
- /***
- * Name: membigtake -- free memory
- *
- * Synopsis: void membigtake();
- * ushort seg, off;
- *
- * membigtake( seg, off );
- *
- * Description: Passes call to memtake() in large data models, and
- * to memfartake() in small data models.
- *
- * Returns: nothing
- *
- * (C) Novum Organum, Inc. 1985
- *
- ***/
- /*VOID*/membigtake( seg, off )
- ushort seg, off;
- {
- char *sydptrjo();
-
- /*
- if ( syldata() )
- */
- memtake( sydptrjo(seg,off) );
- /*
- else
- memfartake( seg );
- */
- }
-