17153ad2bSMikolaj Golub /*- 27153ad2bSMikolaj Golub * Copyright (c) 2013 Mikolaj Golub <trociny@FreeBSD.org> 37153ad2bSMikolaj Golub * All rights reserved. 47153ad2bSMikolaj Golub * 57153ad2bSMikolaj Golub * Redistribution and use in source and binary forms, with or without 67153ad2bSMikolaj Golub * modification, are permitted provided that the following conditions 77153ad2bSMikolaj Golub * are met: 87153ad2bSMikolaj Golub * 1. Redistributions of source code must retain the above copyright 97153ad2bSMikolaj Golub * notice, this list of conditions and the following disclaimer. 107153ad2bSMikolaj Golub * 2. Redistributions in binary form must reproduce the above copyright 117153ad2bSMikolaj Golub * notice, this list of conditions and the following disclaimer in the 127153ad2bSMikolaj Golub * documentation and/or other materials provided with the distribution. 137153ad2bSMikolaj Golub * 147153ad2bSMikolaj Golub * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 157153ad2bSMikolaj Golub * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 167153ad2bSMikolaj Golub * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 177153ad2bSMikolaj Golub * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 187153ad2bSMikolaj Golub * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 197153ad2bSMikolaj Golub * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 207153ad2bSMikolaj Golub * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 217153ad2bSMikolaj Golub * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 227153ad2bSMikolaj Golub * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 237153ad2bSMikolaj Golub * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 247153ad2bSMikolaj Golub * SUCH DAMAGE. 257153ad2bSMikolaj Golub * 267153ad2bSMikolaj Golub * $FreeBSD$ 277153ad2bSMikolaj Golub */ 287153ad2bSMikolaj Golub 297153ad2bSMikolaj Golub #ifndef _CORE_H 307153ad2bSMikolaj Golub #define _CORE_H 317153ad2bSMikolaj Golub 327153ad2bSMikolaj Golub enum psc_type { 337153ad2bSMikolaj Golub PSC_TYPE_PROC, 347153ad2bSMikolaj Golub PSC_TYPE_FILES, 357153ad2bSMikolaj Golub PSC_TYPE_VMMAP, 367153ad2bSMikolaj Golub }; 377153ad2bSMikolaj Golub 387153ad2bSMikolaj Golub struct procstat_core; 397153ad2bSMikolaj Golub 407153ad2bSMikolaj Golub void procstat_core_close(struct procstat_core *core); 417153ad2bSMikolaj Golub void *procstat_core_get(struct procstat_core *core, enum psc_type type, 427153ad2bSMikolaj Golub void * buf, size_t *lenp); 437153ad2bSMikolaj Golub struct procstat_core *procstat_core_open(const char *filename); 447153ad2bSMikolaj Golub 457153ad2bSMikolaj Golub #endif /* !_CORE_H_ */ 46