File: vmalloc.x

package info (click to toggle)
iraf 2.18.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 86,000 kB
  • sloc: ansic: 115,890; fortran: 74,576; lisp: 18,888; yacc: 5,642; sh: 961; lex: 596; makefile: 509; asm: 159; csh: 54; xml: 33; sed: 4
file content (28 lines) | stat: -rw-r--r-- 915 bytes parent folder | download | duplicates (10)
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
# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.

include	<syserr.h>
include	<config.h>
include	<mach.h>

# VMALLOC -- Like malloc, but force the buffer to be aligned on a virtual
# memory page boundary.  This feature can be used, e.g., in 4.XBSD UNIX
# to "bypass" the system buffer cache (to avoid copying file data from the
# system cache into the file buffer).  VMALLOC can be made equivalent to MALLOC
# via the parameters in <config.h>, if the local machine which does not have
# virtual memory.

procedure vmalloc (ubufp, nelems, dtype)

pointer	ubufp			# user buffer pointer (output)
int	nelems			# number of elements of storage required
int	dtype			# datatype of the storage elements

int	sz_align, fwa_align
int	malloc1()

begin
	sz_align = SZ_VMEMALIGN
	fwa_align = VMEM_BASE
	if (malloc1 (ubufp, nelems, dtype, sz_align, fwa_align) == ERR)
	    call syserr (SYS_MFULL)
end