Ejemplo n.º 1
0
static void check_imagergba( Telem* elem )
{
  int i, w, h, size;
  if (!verify_nparams( 2, -1, elem )) return;
  param_number( elem->params, 1 );
  param_number( elem->params, 2 );
  w = atoi( elem->params[0]->data.name );
  h = atoi( elem->params[1]->data.name );
  size = w*h*4;
  if (!verify_nparams( size+2, size+2, elem )) return;
  for (i=0; i<size; i++)
    param_number( elem->params, i+3 );

  elem->data.image.w = w;
  elem->data.image.h = h;
}
Ejemplo n.º 2
0
static struct rman fds;
static struct rman memblks;
static struct rman unmapped;

static void	hier_init(const char *, int);
static void	hier_extend(int, int);
static int	memblk_init(struct rman *);

static int
memblk_init(struct rman *rman __unused)
{
	void *addr;
	size_t len;
	u_int pgcnt;

	pgcnt = param_number("memblk-page-count");
	while (pgcnt > 0) {
		/*
		 * Allow up to memblk-max-size pages in a memory block, clamp to
		 * pgcnt.
		 */
		len = (random() % param_number("memblk-max-size")) + 1;
		if (len > pgcnt)
			len = pgcnt;
		pgcnt -= len;
		len *= getpagesize();

		addr = mmap(NULL, len, PROT_READ | PROT_WRITE, MAP_ANON, -1, 0);
		if (addr == NULL)
			err(1, "mmap");
		if (random() % 2 == 0)