17c478bd9Sstevel@tonic-gate /* 27c478bd9Sstevel@tonic-gate * CDDL HEADER START 37c478bd9Sstevel@tonic-gate * 47c478bd9Sstevel@tonic-gate * The contents of this file are subject to the terms of the 5*8fd04b83SRoger A. Faulkner * Common Development and Distribution License (the "License"). 6*8fd04b83SRoger A. Faulkner * You may not use this file except in compliance with the License. 77c478bd9Sstevel@tonic-gate * 87c478bd9Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 97c478bd9Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing. 107c478bd9Sstevel@tonic-gate * See the License for the specific language governing permissions 117c478bd9Sstevel@tonic-gate * and limitations under the License. 127c478bd9Sstevel@tonic-gate * 137c478bd9Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each 147c478bd9Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 157c478bd9Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the 167c478bd9Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying 177c478bd9Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner] 187c478bd9Sstevel@tonic-gate * 197c478bd9Sstevel@tonic-gate * CDDL HEADER END 207c478bd9Sstevel@tonic-gate */ 21*8fd04b83SRoger A. Faulkner 227c478bd9Sstevel@tonic-gate /* 23*8fd04b83SRoger A. Faulkner * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 247c478bd9Sstevel@tonic-gate * Use is subject to license terms. 257c478bd9Sstevel@tonic-gate */ 267c478bd9Sstevel@tonic-gate 277c478bd9Sstevel@tonic-gate #ifndef _SYS_STAT_IMPL_H 287c478bd9Sstevel@tonic-gate #define _SYS_STAT_IMPL_H 297c478bd9Sstevel@tonic-gate 307c478bd9Sstevel@tonic-gate #include <sys/feature_tests.h> 317c478bd9Sstevel@tonic-gate #include <sys/types.h> 327c478bd9Sstevel@tonic-gate 337c478bd9Sstevel@tonic-gate #ifdef __cplusplus 347c478bd9Sstevel@tonic-gate extern "C" { 357c478bd9Sstevel@tonic-gate #endif 367c478bd9Sstevel@tonic-gate 377c478bd9Sstevel@tonic-gate /* 387c478bd9Sstevel@tonic-gate * The implementation specific header for <sys/stat.h> 397c478bd9Sstevel@tonic-gate */ 407c478bd9Sstevel@tonic-gate 41*8fd04b83SRoger A. Faulkner #if !defined(_KERNEL) 42*8fd04b83SRoger A. Faulkner 437c478bd9Sstevel@tonic-gate #if defined(__STDC__) 447c478bd9Sstevel@tonic-gate 45*8fd04b83SRoger A. Faulkner extern int fstat(int, struct stat *); 46*8fd04b83SRoger A. Faulkner extern int stat(const char *_RESTRICT_KYWD, struct stat *_RESTRICT_KYWD); 47*8fd04b83SRoger A. Faulkner 487c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) || \ 497c478bd9Sstevel@tonic-gate defined(_ATFILE_SOURCE) 507c478bd9Sstevel@tonic-gate extern int fstatat(int, const char *, struct stat *, int); 517c478bd9Sstevel@tonic-gate #endif /* defined (_ATFILE_SOURCE) */ 527c478bd9Sstevel@tonic-gate 537c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) 547c478bd9Sstevel@tonic-gate extern int lstat(const char *_RESTRICT_KYWD, struct stat *_RESTRICT_KYWD); 557c478bd9Sstevel@tonic-gate extern int mknod(const char *, mode_t, dev_t); 56*8fd04b83SRoger A. Faulkner #endif /* !defined(__XOPEN_OR_POSIX) ... */ 577c478bd9Sstevel@tonic-gate 58*8fd04b83SRoger A. Faulkner #else /* defined(__STDC__) */ 597c478bd9Sstevel@tonic-gate 60*8fd04b83SRoger A. Faulkner extern int fstat(); 61*8fd04b83SRoger A. Faulkner extern int stat(); 627c478bd9Sstevel@tonic-gate 63*8fd04b83SRoger A. Faulkner #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) || \ 64*8fd04b83SRoger A. Faulkner defined(_ATFILE_SOURCE) 657c478bd9Sstevel@tonic-gate extern int fstatat(); 667c478bd9Sstevel@tonic-gate #endif 67*8fd04b83SRoger A. Faulkner 687c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) 697c478bd9Sstevel@tonic-gate extern int lstat(); 707c478bd9Sstevel@tonic-gate extern int mknod(); 71*8fd04b83SRoger A. Faulkner #endif /* !defined(__XOPEN_OR_POSIX) ... */ 727c478bd9Sstevel@tonic-gate 737c478bd9Sstevel@tonic-gate #endif /* defined(__STDC__) */ 747c478bd9Sstevel@tonic-gate 75*8fd04b83SRoger A. Faulkner #if defined(__i386) && _FILE_OFFSET_BITS == 32 && \ 76*8fd04b83SRoger A. Faulkner (!defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)) 77*8fd04b83SRoger A. Faulkner 787c478bd9Sstevel@tonic-gate /* 79*8fd04b83SRoger A. Faulkner * Obsolete SVR3 compatibility functions. 80*8fd04b83SRoger A. Faulkner * Application software should NOT program to the _xstat interface. 817c478bd9Sstevel@tonic-gate */ 827c478bd9Sstevel@tonic-gate #if defined(__STDC__) 837c478bd9Sstevel@tonic-gate 84*8fd04b83SRoger A. Faulkner extern int _fxstat(const int, int, struct stat *); 85*8fd04b83SRoger A. Faulkner extern int _xstat(const int, const char *, struct stat *); 86*8fd04b83SRoger A. Faulkner extern int _lxstat(const int, const char *, struct stat *); 87*8fd04b83SRoger A. Faulkner extern int _xmknod(const int, const char *, mode_t, dev_t); 887c478bd9Sstevel@tonic-gate 89*8fd04b83SRoger A. Faulkner #else /* __STDC__ */ 907c478bd9Sstevel@tonic-gate 91*8fd04b83SRoger A. Faulkner extern int _fxstat(); 92*8fd04b83SRoger A. Faulkner extern int _xstat(); 93*8fd04b83SRoger A. Faulkner extern int _lxstat(); 94*8fd04b83SRoger A. Faulkner extern int _xmknod(); 957c478bd9Sstevel@tonic-gate 96*8fd04b83SRoger A. Faulkner #endif /* __STDC__ */ 977c478bd9Sstevel@tonic-gate 98*8fd04b83SRoger A. Faulkner #endif /* defined(__i386) ... */ 997c478bd9Sstevel@tonic-gate 1007c478bd9Sstevel@tonic-gate #endif /* !defined(_KERNEL) */ 1017c478bd9Sstevel@tonic-gate 1027c478bd9Sstevel@tonic-gate #ifdef __cplusplus 1037c478bd9Sstevel@tonic-gate } 1047c478bd9Sstevel@tonic-gate #endif 1057c478bd9Sstevel@tonic-gate 1067c478bd9Sstevel@tonic-gate #endif /* _SYS_STAT_IMPL_H */ 107