/
githubmirror
/
lsof
Обзор
Документация
Войти
/
githubmirror
/
lsof
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
4.99.3
lib/ckkv.c
82 строки
2 KB
Chen
Expose functionality as a re-usable library - Part 2 (#284)
12 апр 2023, 09:01
Не верифицирован
12 апр 2023, 09:01
6dca348
Код
Авторство
О чём код?
/* * cvfs.c -- ckkv() function for lsof library */ /* * Copyright 1998 Purdue Research Foundation, West Lafayette, Indiana * 47907. All rights reserved. * * Written by Victor A. Abell * * This software is not subject to any license of the American Telephone * and Telegraph Company or the Regents of the University of California. * * Permission is granted to anyone to use this software for any purpose on * any computer system, and to alter it and redistribute it freely, subject * to the following restrictions: * * 1. Neither the authors nor Purdue University are responsible for any * consequences of the use of this software. * * 2. The origin of this software must not be misrepresented, either by * explicit claim or by omission. Credit to the authors and Purdue * University must appear in documentation and sources. * * 3. Altered versions must be plainly marked as such, and must not be * misrepresented as being the original software. * * 4. This notice may not be removed or altered. */ #include "common.h" #include "machine.h" #if defined(USE_LIB_CKKV) # include <sys/utsname.h> /* * ckkv() - check kernel version */ void ckkv(struct lsof_context *ctx, /* context */ char *d, /* dialect */ char *er, /* expected revision; NULL, no test */ char *ev, /* expected version; NULL, no test */ char *ea) /* expected architecture; NULL, no test */ { # if defined(HASKERNIDCK) struct utsname u; if (Fwarn) return; /* * Read the system information via uname(2). */ if (uname(&u) < 0) { (void)fprintf(stderr, "%s: uname error: %s\n", Pn, strerror(errno)); Error(ctx); } if (er && strcmp(er, u.release)) { (void)fprintf(stderr, "%s: WARNING: compiled for %s release %s; this is %s.\n", Pn, d, er, u.release); } if (ev && strcmp(ev, u.version)) { (void)fprintf(stderr, "%s: WARNING: compiled for %s version %s; this is %s.\n", Pn, d, ev, u.version); } if (ea && strcmp(ea, u.machine)) { (void)fprintf( stderr, "%s: WARNING: compiled for %s architecture %s; this is %s.\n", Pn, d, ea, u.machine); } # endif /* defined(HASKERNIDCK) */ } #else /* !defined(USE_LIB_CKKV) */ char ckkv_d1[] = "d"; char *ckkv_d2 = ckkv_d1; #endif /* defined(USE_LIB_CKKV) */