/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
#ifndef _SYS_OLD_PROCFS_H
#define _SYS_OLD_PROCFS_H
/*
* This file contains the definitions for the old ioctl()-based
* version of the process file system. It is obsolete but will
* continue to be supported in SunOS until the next major release.
*/
#include <sys/time_impl.h>
#include <sys/procfs_isa.h>
#ifdef __cplusplus
extern "C" {
#endif
#error "Cannot use procfs in the large file compilation environment"
#endif
#if _STRUCTURED_PROC == 0
/*
* The old (ioctl-based) and new (structured) /proc interfaces define
* related structures of the same name, but slightly diferent contents:
* prmap_t
* prcred_t
* This doesn't hurt because you can't include both of these
* in the same compilation unit:
* <sys/old_procfs.h>
* unless _STRUCTURED_PROC is first defined to be 1.
* (Including <procfs.h> defines it to be 1.)
*
* However, the latest version of lint goes overboard in hunting
* down and reporting differences in functions and data of the
* same name across multiple compilation units, even though there
* is no real problem. To mitigate this, we redefine the old procfs
* names when performing lint.
*/
#if defined(__lint)
#endif /* __lint */
/*
* ioctl codes and system call interfaces for /proc.
*/
/*
*/
/*
* These are new with SunOS5.0.
*/
/*
* Lightweight process interfaces.
*/
/*
* SVR4 run-time loader interfaces.
*/
/*
* extra register state interfaces
*/
/*
* Intel-specific interfaces.
*/
#endif /* _STRUCTURED_PROC == 0 */
typedef struct prstatus {
} prstatus_t;
#if _STRUCTURED_PROC == 0
/* pr_flags */
/* Reasons for stopping */
/* Information for the ps(1) command */
#endif /* _STRUCTURED_PROC == 0 */
typedef struct prpsinfo {
short pr_fill;
/* The following percent numbers are 16-bit binary */
/* fractions [0 .. 1] with the binary point to the */
/* right of the high-order bit (one == 0x8000) */
} prpsinfo_t;
#if _STRUCTURED_PROC == 0
#if !defined(_STYPES)
#else
#endif
/*
* See <sys/procfs_isa.h> for possible values of pr_dmodel.
*/
/* Optional actions to take when process continues */
typedef struct prrun {
} prrun_t;
/* Memory-management interface */
typedef struct prmap {
} prmap_t;
/* Protection and attribute flags */
/*
* These are obsolete and unreliable.
* They are included here only for historical compatibility.
*/
/* Process credentials */
typedef struct prcred {
} prcred_t;
/* Resource usage */
typedef struct prusage {
} prusage_t;
/* Page data */
/* page data file header */
typedef struct prpageheader {
/* page data mapping header */
typedef struct prasmap {
} prasmap_t;
/*
* npage bytes (rounded up to a sizeof (long)-byte boundary) follow
* each mapping header, containing zero or more of these flags.
*/
/*
* Macros for manipulating sets of flags.
* sp must be a pointer to one of sigset_t, fltset_t, or sysset_t.
* flag must be a member of the enumeration corresponding to *sp.
*/
/* turn on all flags in set */
/* turn off all flags in set */
/* turn on specified flag in set */
/* turn off specified flag in set */
/* query: != 0 iff flag is turned on in set */
#endif /* _STRUCTURED_PROC == 0 */
#ifdef _SYSCALL32
#if _STRUCTURED_PROC == 0
/*
* dev32_t version of PRNODEV
*/
/*
* Kernel view of structures used by _ILP32 programs.
*/
#endif /* _STRUCTURED_PROC == 0 */
typedef struct prstatus32 {
} prstatus32_t;
typedef struct prpsinfo32 {
short pr_fill;
} prpsinfo32_t;
#if _STRUCTURED_PROC == 0
typedef struct prrun32 {
} prrun32_t;
typedef struct ioc_prmap32 {
typedef struct prusage32 {
} prusage32_t;
typedef struct ioc_prpageheader32 {
typedef struct ioc_prasmap32 {
#endif /* _STRUCTURED_PROC == 0 */
#endif /* _SYSCALL32 */
#ifdef __cplusplus
}
#endif
#endif /* _SYS_OLD_PROCFS_H */