1238582Smm/* 2238582Smm * CDDL HEADER START 3238582Smm * 4238582Smm * The contents of this file are subject to the terms of the 5238582Smm * Common Development and Distribution License (the "License"). 6238582Smm * You may not use this file except in compliance with the License. 7238582Smm * 8238582Smm * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9238582Smm * or http://www.opensolaris.org/os/licensing. 10238582Smm * See the License for the specific language governing permissions 11238582Smm * and limitations under the License. 12238582Smm * 13238582Smm * When distributing Covered Code, include this CDDL HEADER in each 14238582Smm * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15238582Smm * If applicable, add the following below this CDDL HEADER, with the 16238582Smm * fields enclosed by brackets "[]" replaced with your own identifying 17238582Smm * information: Portions Copyright [yyyy] [name of copyright owner] 18238582Smm * 19238582Smm * CDDL HEADER END 20238582Smm */ 21238582Smm 22238582Smm/* 23238582Smm * Copyright (c) 2011 by Delphix. All rights reserved. 24238582Smm */ 25238582Smm 26238582Smm#pragma D option quiet 27238582Smm 28238582Smmtypedef struct forward forward_t; 29238582Smm 30238582Smmtypedef struct foo { 31238582Smm int a; 32238582Smm void *b; 33238582Smm struct { 34238582Smm uint64_t alpha; 35238582Smm uint64_t beta; 36238582Smm } c; 37238582Smm ushort_t d; 38238582Smm int e; 39238582Smm forward_t *f; 40238582Smm void (*g)(); 41238582Smm} foo_t; 42238582Smm 43238582SmmBEGIN 44238582Smm{ 45238582Smm this->s = (foo_t *)alloca(sizeof (foo_t)); 46238582Smm 47238582Smm this->s->a = 1; 48238582Smm this->s->b = (void *)2; 49238582Smm this->s->c.alpha = 3; 50238582Smm this->s->c.beta = 4; 51238582Smm this->s->d = 5; 52238582Smm this->s->e = 6; 53238582Smm this->s->f = (void *)7; 54238582Smm this->s->g = (void *)8; 55238582Smm 56238582Smm print(*this->s); 57238582Smm 58238582Smm exit(0); 59238582Smm} 60