diff options
| author | Rodney W. Grimes <rgrimes@FreeBSD.org> | 1994-05-24 09:57:34 +0000 | 
|---|---|---|
| committer | Rodney W. Grimes <rgrimes@FreeBSD.org> | 1994-05-24 09:57:34 +0000 | 
| commit | 59deaec541ae8baaa58daf6c5a2196ea7de180c3 (patch) | |
| tree | 09f0848dc45f73d9ec271a31af87eaf035d17dd2 /lib | |
| parent | 628b2ef68cdc04f2b5d5ec381ab5bc16f16bb7f6 (diff) | |
Notes
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/libc/gen/fts-compat.h | 125 | ||||
| -rw-r--r-- | lib/libkvm/kvm.h | 69 | 
2 files changed, 194 insertions, 0 deletions
| diff --git a/lib/libc/gen/fts-compat.h b/lib/libc/gen/fts-compat.h new file mode 100644 index 000000000000..84dbe14bc792 --- /dev/null +++ b/lib/libc/gen/fts-compat.h @@ -0,0 +1,125 @@ +/* + * Copyright (c) 1989, 1993 + *	The Regents of the University of California.  All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *    notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + *    notice, this list of conditions and the following disclaimer in the + *    documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + *    must display the following acknowledgement: + *	This product includes software developed by the University of + *	California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + *    may be used to endorse or promote products derived from this software + *    without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + *	@(#)fts.h	8.1 (Berkeley) 6/2/93 + */ + +#ifndef	_FTS_H_ +#define	_FTS_H_ + +typedef struct { +	struct _ftsent *fts_cur;	/* current node */ +	struct _ftsent *fts_child;	/* linked list of children */ +	struct _ftsent **fts_array;	/* sort array */ +	dev_t fts_dev;			/* starting device # */ +	char *fts_path;			/* path for this descent */ +	int fts_rfd;			/* fd for root */ +	int fts_pathlen;		/* sizeof(path) */ +	int fts_nitems;			/* elements in the sort array */ +	int (*fts_compar)();		/* compare function */ + +#define	FTS_COMFOLLOW	0x001		/* follow command line symlinks */ +#define	FTS_LOGICAL	0x002		/* logical walk */ +#define	FTS_NOCHDIR	0x004		/* don't change directories */ +#define	FTS_NOSTAT	0x008		/* don't get stat info */ +#define	FTS_PHYSICAL	0x010		/* physical walk */ +#define	FTS_SEEDOT	0x020		/* return dot and dot-dot */ +#define	FTS_XDEV	0x040		/* don't cross devices */ +#define	FTS_OPTIONMASK	0x07f		/* valid user option mask */ + +#define	FTS_NAMEONLY	0x080		/* (private) child names only */ +#define	FTS_STOP	0x100		/* (private) unrecoverable error */ +	int fts_options;		/* fts_open options, global flags */ +} FTS; + +typedef struct _ftsent { +	struct _ftsent *fts_cycle;	/* cycle node */ +	struct _ftsent *fts_parent;	/* parent directory */ +	struct _ftsent *fts_link;	/* next file in directory */ +	long fts_number;	        /* local numeric value */ +	void *fts_pointer;	        /* local address value */ +	char *fts_accpath;		/* access path */ +	char *fts_path;			/* root path */ +	int fts_errno;			/* errno for this node */ +	int fts_symfd;			/* fd for symlink */ +	u_short fts_pathlen;		/* strlen(fts_path) */ +	u_short fts_namelen;		/* strlen(fts_name) */ + +	ino_t fts_ino;			/* inode */ +	dev_t fts_dev;			/* device */ +	nlink_t fts_nlink;		/* link count */ + +#define	FTS_ROOTPARENTLEVEL	-1 +#define	FTS_ROOTLEVEL		 0 +	short fts_level;		/* depth (-1 to N) */ + +#define	FTS_D		 1		/* preorder directory */ +#define	FTS_DC		 2		/* directory that causes cycles */ +#define	FTS_DEFAULT	 3		/* none of the above */ +#define	FTS_DNR		 4		/* unreadable directory */ +#define	FTS_DOT		 5		/* dot or dot-dot */ +#define	FTS_DP		 6		/* postorder directory */ +#define	FTS_ERR		 7		/* error; errno is set */ +#define	FTS_F		 8		/* regular file */ +#define	FTS_INIT	 9		/* initialized only */ +#define	FTS_NS		10		/* stat(2) failed */ +#define	FTS_NSOK	11		/* no stat(2) requested */ +#define	FTS_SL		12		/* symbolic link */ +#define	FTS_SLNONE	13		/* symbolic link without target */ +	u_short fts_info;		/* user flags for FTSENT structure */ + +#define	FTS_DONTCHDIR	 0x01		/* don't chdir .. to the parent */ +#define	FTS_SYMFOLLOW	 0x02		/* followed a symlink to get here */ +	u_short fts_flags;		/* private flags for FTSENT structure */ + +#define	FTS_AGAIN	 1		/* read node again */ +#define	FTS_FOLLOW	 2		/* follow symbolic link */ +#define	FTS_NOINSTR	 3		/* no instructions */ +#define	FTS_SKIP	 4		/* discard node */ +	u_short fts_instr;		/* fts_set() instructions */ + +	struct stat *fts_statp;		/* stat(2) information */ +	char fts_name[1];		/* file name */ +} FTSENT; + +#include <sys/cdefs.h> + +__BEGIN_DECLS +FTSENT	*fts_children __P((FTS *, int)); +int	 fts_close __P((FTS *)); +FTS	*fts_open __P((char * const *, int, +	    int (*)(const FTSENT **, const FTSENT **))); +FTSENT	*fts_read __P((FTS *)); +int	 fts_set __P((FTS *, FTSENT *, int)); +__END_DECLS + +#endif /* !_FTS_H_ */ diff --git a/lib/libkvm/kvm.h b/lib/libkvm/kvm.h new file mode 100644 index 000000000000..3c675ab67b4d --- /dev/null +++ b/lib/libkvm/kvm.h @@ -0,0 +1,69 @@ +/*- + * Copyright (c) 1989, 1993 + *	The Regents of the University of California.  All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *    notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + *    notice, this list of conditions and the following disclaimer in the + *    documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + *    must display the following acknowledgement: + *	This product includes software developed by the University of + *	California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + *    may be used to endorse or promote products derived from this software + *    without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + *	@(#)kvm.h	8.1 (Berkeley) 6/2/93 + */ + +#ifndef _KVM_H_ +#define	_KVM_H_ + +/* Default version symbol. */ +#define	VRS_SYM		"_version" +#define	VRS_KEY		"VERSION" + +#include <nlist.h> +#include <sys/cdefs.h> + +__BEGIN_DECLS + +typedef struct __kvm kvm_t; + +struct kinfo_proc; +int	  kvm_close __P((kvm_t *)); +char	**kvm_getargv __P((kvm_t *, const struct kinfo_proc *, int)); +char	**kvm_getenvv __P((kvm_t *, const struct kinfo_proc *, int)); +char	 *kvm_geterr __P((kvm_t *)); +int	  kvm_getloadavg __P((kvm_t *, double [], int)); +char	 *kvm_getfiles __P((kvm_t *, int, int, int *)); +struct kinfo_proc * +	  kvm_getprocs __P((kvm_t *, int, int, int *)); +int	  kvm_nlist __P((kvm_t *, struct nlist *)); +kvm_t	 *kvm_open +	    __P((const char *, const char *, const char *, int, const char *)); +kvm_t	 *kvm_openfiles +	    __P((const char *, const char *, const char *, int, char *)); +int	  kvm_read __P((kvm_t *, unsigned long, void *, unsigned int)); +int	  kvm_write __P((kvm_t *, unsigned long, const void *, unsigned int)); + +__END_DECLS + +#endif /* !_KVM_H_ */ | 
