1*cc31cba9SRichard Lowe /* 2*cc31cba9SRichard Lowe * CDDL HEADER START 3*cc31cba9SRichard Lowe * 4*cc31cba9SRichard Lowe * The contents of this file are subject to the terms of the 5*cc31cba9SRichard Lowe * Common Development and Distribution License, Version 1.0 only 6*cc31cba9SRichard Lowe * (the "License"). You may not use this file except in compliance 7*cc31cba9SRichard Lowe * with the License. 8*cc31cba9SRichard Lowe * 9*cc31cba9SRichard Lowe * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10*cc31cba9SRichard Lowe * or http://www.opensolaris.org/os/licensing. 11*cc31cba9SRichard Lowe * See the License for the specific language governing permissions 12*cc31cba9SRichard Lowe * and limitations under the License. 13*cc31cba9SRichard Lowe * 14*cc31cba9SRichard Lowe * When distributing Covered Code, include this CDDL HEADER in each 15*cc31cba9SRichard Lowe * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16*cc31cba9SRichard Lowe * If applicable, add the following below this CDDL HEADER, with the 17*cc31cba9SRichard Lowe * fields enclosed by brackets "[]" replaced with your own identifying 18*cc31cba9SRichard Lowe * information: Portions Copyright [yyyy] [name of copyright owner] 19*cc31cba9SRichard Lowe * 20*cc31cba9SRichard Lowe * CDDL HEADER END 21*cc31cba9SRichard Lowe */ 22*cc31cba9SRichard Lowe /* 23*cc31cba9SRichard Lowe * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 24*cc31cba9SRichard Lowe * Use is subject to license terms. 25*cc31cba9SRichard Lowe */ 26*cc31cba9SRichard Lowe 27*cc31cba9SRichard Lowe /* 28*cc31cba9SRichard Lowe * __xpg6 (C99/SUSv3) was first introduced in Solaris 10. 29*cc31cba9SRichard Lowe * 30*cc31cba9SRichard Lowe * This file is NOT linked into libc. See xpg6.c. 31*cc31cba9SRichard Lowe * This value is linked into an application when the application is 32*cc31cba9SRichard Lowe * requesting conforming C99/SUSv3 behavior. This is usually done 33*cc31cba9SRichard Lowe * with the c99 utility. 34*cc31cba9SRichard Lowe * 35*cc31cba9SRichard Lowe * __xpg6 is used to control certain behaviors between the C99 standard, 36*cc31cba9SRichard Lowe * the SUSv3 standard, and Solaris. More explanation in inc/xpg6.h. 37*cc31cba9SRichard Lowe * The XPG6 C compiler utility (c99) will add an object file that contains an 38*cc31cba9SRichard Lowe * alternate definition for __xpg6. The symbol interposition provided 39*cc31cba9SRichard Lowe * by the linker will allow libc to find that symbol instead. 40*cc31cba9SRichard Lowe * 41*cc31cba9SRichard Lowe * Possible settings are available and documented in inc/xpg6.h. 42*cc31cba9SRichard Lowe */ 43*cc31cba9SRichard Lowe 44*cc31cba9SRichard Lowe /* 45*cc31cba9SRichard Lowe * This setting enables strictly conforming C99/SUSv3 behavior. 46*cc31cba9SRichard Lowe */ 47*cc31cba9SRichard Lowe 48*cc31cba9SRichard Lowe #include "xpg6.h" 49*cc31cba9SRichard Lowe 50*cc31cba9SRichard Lowe unsigned int __xpg6 = _C99SUSv3_mode_ON; 51*cc31cba9SRichard Lowe 52*cc31cba9SRichard Lowe /* 53*cc31cba9SRichard Lowe * Also turn on XPG4 mode. 54*cc31cba9SRichard Lowe */ 55*cc31cba9SRichard Lowe int __xpg4 = 1; 56