17b124c9fSJoerg Sonnenberger /* 27b124c9fSJoerg Sonnenberger * Copyright (c) 2004 The DragonFly Project. All rights reserved. 37b124c9fSJoerg Sonnenberger * 47b124c9fSJoerg Sonnenberger * This code is derived from software contributed to The DragonFly Project 57b124c9fSJoerg Sonnenberger * by Joerg Sonnenberger <joerg@bec.de>. 67b124c9fSJoerg Sonnenberger * 77b124c9fSJoerg Sonnenberger * Redistribution and use in source and binary forms, with or without 87b124c9fSJoerg Sonnenberger * modification, are permitted provided that the following conditions 97b124c9fSJoerg Sonnenberger * are met: 107b124c9fSJoerg Sonnenberger * 117b124c9fSJoerg Sonnenberger * 1. Redistributions of source code must retain the above copyright 127b124c9fSJoerg Sonnenberger * notice, this list of conditions and the following disclaimer. 137b124c9fSJoerg Sonnenberger * 2. Redistributions in binary form must reproduce the above copyright 147b124c9fSJoerg Sonnenberger * notice, this list of conditions and the following disclaimer in 157b124c9fSJoerg Sonnenberger * the documentation and/or other materials provided with the 167b124c9fSJoerg Sonnenberger * distribution. 177b124c9fSJoerg Sonnenberger * 3. Neither the name of The DragonFly Project nor the names of its 187b124c9fSJoerg Sonnenberger * contributors may be used to endorse or promote products derived 197b124c9fSJoerg Sonnenberger * from this software without specific, prior written permission. 207b124c9fSJoerg Sonnenberger * 217b124c9fSJoerg Sonnenberger * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 227b124c9fSJoerg Sonnenberger * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 237b124c9fSJoerg Sonnenberger * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 247b124c9fSJoerg Sonnenberger * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 257b124c9fSJoerg Sonnenberger * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 267b124c9fSJoerg Sonnenberger * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, 277b124c9fSJoerg Sonnenberger * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 287b124c9fSJoerg Sonnenberger * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 297b124c9fSJoerg Sonnenberger * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 307b124c9fSJoerg Sonnenberger * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 317b124c9fSJoerg Sonnenberger * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 327b124c9fSJoerg Sonnenberger * SUCH DAMAGE. 337b124c9fSJoerg Sonnenberger */ 347b124c9fSJoerg Sonnenberger 357827df93SHiten Pandya #ifndef _KINFO_H_ 367827df93SHiten Pandya #define _KINFO_H_ 377b124c9fSJoerg Sonnenberger 387b124c9fSJoerg Sonnenberger #include <sys/cdefs.h> 391c55bd1cSJoerg Sonnenberger #include <sys/kinfo.h> 407b124c9fSJoerg Sonnenberger 417827df93SHiten Pandya #include <kinfo_pcpu.h> 427827df93SHiten Pandya 4372ce0f6dSHiten Pandya /* Forward references */ 4472ce0f6dSHiten Pandya struct rtstatistics; 4572ce0f6dSHiten Pandya 467b124c9fSJoerg Sonnenberger __BEGIN_DECLS; 47c6c6fa46SHiten Pandya /* File */ 487b124c9fSJoerg Sonnenberger int kinfo_get_files(struct kinfo_file **, size_t *); 497b124c9fSJoerg Sonnenberger int kinfo_get_maxfiles(int *); 507b124c9fSJoerg Sonnenberger int kinfo_get_openfiles(int *); 51c6c6fa46SHiten Pandya 5272ce0f6dSHiten Pandya /* Networking */ 5372ce0f6dSHiten Pandya int kinfo_get_net_rtstatistics(struct rtstatistics *); 5472ce0f6dSHiten Pandya 55c6c6fa46SHiten Pandya /* Scheduling / Time */ 56c6c6fa46SHiten Pandya int kinfo_get_cpus(int *); 57f5d21610SJoerg Sonnenberger int kinfo_get_sched_cputime(struct kinfo_cputime *); 58f5d21610SJoerg Sonnenberger int kinfo_get_sched_hz(int *); 59f5d21610SJoerg Sonnenberger int kinfo_get_sched_profhz(int *); 60f5d21610SJoerg Sonnenberger int kinfo_get_sched_stathz(int *); 61c6c6fa46SHiten Pandya 62c6c6fa46SHiten Pandya /* TTYs */ 63f5d21610SJoerg Sonnenberger int kinfo_get_tty_tk_nin(uint64_t *); 64f5d21610SJoerg Sonnenberger int kinfo_get_tty_tk_nout(uint64_t *); 65c6c6fa46SHiten Pandya 66c6c6fa46SHiten Pandya /* VFS */ 67*3583bbb4SMatthew Dillon int kinfo_get_vfs_bufspace(long *); 687827df93SHiten Pandya 69c6c6fa46SHiten Pandya /* Per-CPU accumulators */ 707827df93SHiten Pandya PCPU_STATISTICS_PROT(cputime, struct kinfo_cputime); 7172ce0f6dSHiten Pandya PCPU_STATISTICS_PROT(route, struct rtstatistics); 727b124c9fSJoerg Sonnenberger __END_DECLS; 737b124c9fSJoerg Sonnenberger 747b124c9fSJoerg Sonnenberger #endif 75