...

Text file src/github.com/shirou/gopsutil/host/freebsd_headers/utxdb.h

Documentation: github.com/shirou/gopsutil/host/freebsd_headers

     1/*-
     2 * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
     3 *
     4 * Copyright (c) 2010 Ed Schouten <ed@FreeBSD.org>
     5 * All rights reserved.
     6 *
     7 * Redistribution and use in source and binary forms, with or without
     8 * modification, are permitted provided that the following conditions
     9 * are met:
    10 * 1. Redistributions of source code must retain the above copyright
    11 *    notice, this list of conditions and the following disclaimer.
    12 * 2. Redistributions in binary form must reproduce the above copyright
    13 *    notice, this list of conditions and the following disclaimer in the
    14 *    documentation and/or other materials provided with the distribution.
    15 *
    16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
    17 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    19 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
    20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    26 * SUCH DAMAGE.
    27 *
    28 * $FreeBSD$
    29 */
    30
    31#ifndef _UTXDB_H_
    32#define	_UTXDB_H_
    33
    34#include <stdint.h>
    35
    36#define	_PATH_UTX_ACTIVE	"/var/run/utx.active"
    37#define	_PATH_UTX_LASTLOGIN	"/var/log/utx.lastlogin"
    38#define	_PATH_UTX_LOG		"/var/log/utx.log"
    39
    40/*
    41 * Entries in struct futx are ordered by how often they are used.  In
    42 * utx.log only entries will be written until the last non-zero byte,
    43 * which means we want to put the hostname at the end. Most primitive
    44 * records only store a ut_type and ut_tv, which means we want to store
    45 * those at the front.
    46 */
    47
    48struct utmpx;
    49
    50struct futx {
    51	uint8_t		fu_type;
    52	uint64_t	fu_tv;
    53	char		fu_id[8];
    54	uint32_t	fu_pid;
    55	char		fu_user[32];
    56	char		fu_line[16];
    57	char		fu_host[128];
    58} __packed;
    59
    60void	utx_to_futx(const struct utmpx *, struct futx *);
    61struct utmpx *futx_to_utx(const struct futx *);
    62
    63#endif /* !_UTXDB_H_ */

View as plain text