Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.19-rc7 66 lines 1.7 kB view raw
1/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ 2/* Copyright (C) 2017-2018 Netronome Systems, Inc. */ 3/* Copyright Meta Platforms, Inc. and affiliates */ 4 5#ifndef __YNLTOOL_H 6#define __YNLTOOL_H 7 8#ifndef _GNU_SOURCE 9#define _GNU_SOURCE 10#endif 11#include <stdbool.h> 12#include <stdio.h> 13#include <stdlib.h> 14#include <errno.h> 15#include <string.h> 16 17#include "json_writer.h" 18 19#define NEXT_ARG() ({ argc--; argv++; if (argc < 0) usage(); }) 20#define NEXT_ARGP() ({ (*argc)--; (*argv)++; if (*argc < 0) usage(); }) 21#define BAD_ARG() ({ p_err("what is '%s'?", *argv); -1; }) 22#define GET_ARG() ({ argc--; *argv++; }) 23#define REQ_ARGS(cnt) \ 24 ({ \ 25 int _cnt = (cnt); \ 26 bool _res; \ 27 \ 28 if (argc < _cnt) { \ 29 p_err("'%s' needs at least %d arguments, %d found", \ 30 argv[-1], _cnt, argc); \ 31 _res = false; \ 32 } else { \ 33 _res = true; \ 34 } \ 35 _res; \ 36 }) 37 38#define HELP_SPEC_OPTIONS \ 39 "OPTIONS := { {-j|--json} [{-p|--pretty}] }" 40 41extern const char *bin_name; 42 43extern json_writer_t *json_wtr; 44extern bool json_output; 45extern bool pretty_output; 46 47void __attribute__((format(printf, 1, 2))) p_err(const char *fmt, ...); 48void __attribute__((format(printf, 1, 2))) p_info(const char *fmt, ...); 49 50bool is_prefix(const char *pfx, const char *str); 51int detect_common_prefix(const char *arg, ...); 52void usage(void) __attribute__((noreturn)); 53 54struct cmd { 55 const char *cmd; 56 int (*func)(int argc, char **argv); 57}; 58 59int cmd_select(const struct cmd *cmds, int argc, char **argv, 60 int (*help)(int argc, char **argv)); 61 62/* subcommands */ 63int do_page_pool(int argc, char **argv); 64int do_qstats(int argc, char **argv); 65 66#endif /* __YNLTOOL_H */