d0e518695adc90b82233b99af7dffbb3d3f92c00amw * CDDL HEADER START
d0e518695adc90b82233b99af7dffbb3d3f92c00amw * The contents of this file are subject to the terms of the
d0e518695adc90b82233b99af7dffbb3d3f92c00amw * Common Development and Distribution License (the "License").
d0e518695adc90b82233b99af7dffbb3d3f92c00amw * You may not use this file except in compliance with the License.
d0e518695adc90b82233b99af7dffbb3d3f92c00amw * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
d0e518695adc90b82233b99af7dffbb3d3f92c00amw * See the License for the specific language governing permissions
d0e518695adc90b82233b99af7dffbb3d3f92c00amw * and limitations under the License.
d0e518695adc90b82233b99af7dffbb3d3f92c00amw * When distributing Covered Code, include this CDDL HEADER in each
d0e518695adc90b82233b99af7dffbb3d3f92c00amw * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
d0e518695adc90b82233b99af7dffbb3d3f92c00amw * If applicable, add the following below this CDDL HEADER, with the
d0e518695adc90b82233b99af7dffbb3d3f92c00amw * fields enclosed by brackets "[]" replaced with your own identifying
d0e518695adc90b82233b99af7dffbb3d3f92c00amw * information: Portions Copyright [yyyy] [name of copyright owner]
d0e518695adc90b82233b99af7dffbb3d3f92c00amw * CDDL HEADER END
a0b6e447978c306e15941d158bf6939a42ed2726Alan Wright * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
d0e518695adc90b82233b99af7dffbb3d3f92c00amw * Use is subject to license terms.
d0e518695adc90b82233b99af7dffbb3d3f92c00amw * Don't output anything for default alignment.
a0b6e447978c306e15941d158bf6939a42ed2726Alan Wright * Field attributes are used to specify the size of an array, or the portion
a0b6e447978c306e15941d158bf6939a42ed2726Alan Wright * of the array, that contains valid data, which is done by associating
a0b6e447978c306e15941d158bf6939a42ed2726Alan Wright * another parameter with the array that contains the sizing information.
a0b6e447978c306e15941d158bf6939a42ed2726Alan Wright * Supports formats such as size_is(x) or size_is(x / 2). The supported
a0b6e447978c306e15941d158bf6939a42ed2726Alan Wright * operators are:
a0b6e447978c306e15941d158bf6939a42ed2726Alan Wright * * / % + - & | ^
a0b6e447978c306e15941d158bf6939a42ed2726Alan Wright * The lexer sets the name and operator to
a0b6e447978c306e15941d158bf6939a42ed2726Alan Wright * the same value if there is no operator.
a0b6e447978c306e15941d158bf6939a42ed2726Alan Wright compile_error("invalid operator: %s", operator);
a0b6e447978c306e15941d158bf6939a42ed2726Alan Wright (void) printf("%s %s %ldUL", name, operator, value);
d0e518695adc90b82233b99af7dffbb3d3f92c00amwstatic void
d0e518695adc90b82233b99af7dffbb3d3f92c00amw char *p = buf;
d0e518695adc90b82233b99af7dffbb3d3f92c00amw (void) snprintf(buf, NDLBUFSZ, "%s", np->n_m_type->n_sym->name);
d0e518695adc90b82233b99af7dffbb3d3f92c00amw while (*p)
d0e518695adc90b82233b99af7dffbb3d3f92c00amw *p++ = ' ';
d0e518695adc90b82233b99af7dffbb3d3f92c00amw *p++ = '*';
d0e518695adc90b82233b99af7dffbb3d3f92c00amwstatic void
d0e518695adc90b82233b99af7dffbb3d3f92c00amwstatic void