1*7153ad2bSMikolaj Golub /*- 2*7153ad2bSMikolaj Golub * Copyright (c) 2013 Mikolaj Golub <trociny@FreeBSD.org> 3*7153ad2bSMikolaj Golub * All rights reserved. 4*7153ad2bSMikolaj Golub * 5*7153ad2bSMikolaj Golub * Redistribution and use in source and binary forms, with or without 6*7153ad2bSMikolaj Golub * modification, are permitted provided that the following conditions 7*7153ad2bSMikolaj Golub * are met: 8*7153ad2bSMikolaj Golub * 1. Redistributions of source code must retain the above copyright 9*7153ad2bSMikolaj Golub * notice, this list of conditions and the following disclaimer. 10*7153ad2bSMikolaj Golub * 2. Redistributions in binary form must reproduce the above copyright 11*7153ad2bSMikolaj Golub * notice, this list of conditions and the following disclaimer in the 12*7153ad2bSMikolaj Golub * documentation and/or other materials provided with the distribution. 13*7153ad2bSMikolaj Golub * 14*7153ad2bSMikolaj Golub * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 15*7153ad2bSMikolaj Golub * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16*7153ad2bSMikolaj Golub * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17*7153ad2bSMikolaj Golub * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 18*7153ad2bSMikolaj Golub * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19*7153ad2bSMikolaj Golub * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20*7153ad2bSMikolaj Golub * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21*7153ad2bSMikolaj Golub * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22*7153ad2bSMikolaj Golub * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23*7153ad2bSMikolaj Golub * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24*7153ad2bSMikolaj Golub * SUCH DAMAGE. 25*7153ad2bSMikolaj Golub * 26*7153ad2bSMikolaj Golub * $FreeBSD$ 27*7153ad2bSMikolaj Golub */ 28*7153ad2bSMikolaj Golub 29*7153ad2bSMikolaj Golub #ifndef _CORE_H 30*7153ad2bSMikolaj Golub #define _CORE_H 31*7153ad2bSMikolaj Golub 32*7153ad2bSMikolaj Golub enum psc_type { 33*7153ad2bSMikolaj Golub PSC_TYPE_PROC, 34*7153ad2bSMikolaj Golub PSC_TYPE_FILES, 35*7153ad2bSMikolaj Golub PSC_TYPE_VMMAP, 36*7153ad2bSMikolaj Golub }; 37*7153ad2bSMikolaj Golub 38*7153ad2bSMikolaj Golub struct procstat_core; 39*7153ad2bSMikolaj Golub 40*7153ad2bSMikolaj Golub void procstat_core_close(struct procstat_core *core); 41*7153ad2bSMikolaj Golub void *procstat_core_get(struct procstat_core *core, enum psc_type type, 42*7153ad2bSMikolaj Golub void * buf, size_t *lenp); 43*7153ad2bSMikolaj Golub struct procstat_core *procstat_core_open(const char *filename); 44*7153ad2bSMikolaj Golub 45*7153ad2bSMikolaj Golub #endif /* !_CORE_H_ */ 46