cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

util.h (1564B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2#ifndef UTIL_H
      3#define UTIL_H
      4
      5#include <sys/socket.h>
      6#include <linux/vm_sockets.h>
      7
      8/* Tests can either run as the client or the server */
      9enum test_mode {
     10	TEST_MODE_UNSET,
     11	TEST_MODE_CLIENT,
     12	TEST_MODE_SERVER
     13};
     14
     15/* Test runner options */
     16struct test_opts {
     17	enum test_mode mode;
     18	unsigned int peer_cid;
     19};
     20
     21/* A test case definition.  Test functions must print failures to stderr and
     22 * terminate with exit(EXIT_FAILURE).
     23 */
     24struct test_case {
     25	const char *name; /* human-readable name */
     26
     27	/* Called when test mode is TEST_MODE_CLIENT */
     28	void (*run_client)(const struct test_opts *opts);
     29
     30	/* Called when test mode is TEST_MODE_SERVER */
     31	void (*run_server)(const struct test_opts *opts);
     32
     33	bool skip;
     34};
     35
     36void init_signals(void);
     37unsigned int parse_cid(const char *str);
     38int vsock_stream_connect(unsigned int cid, unsigned int port);
     39int vsock_seqpacket_connect(unsigned int cid, unsigned int port);
     40int vsock_stream_accept(unsigned int cid, unsigned int port,
     41			struct sockaddr_vm *clientaddrp);
     42int vsock_seqpacket_accept(unsigned int cid, unsigned int port,
     43			   struct sockaddr_vm *clientaddrp);
     44void vsock_wait_remote_close(int fd);
     45void send_byte(int fd, int expected_ret, int flags);
     46void recv_byte(int fd, int expected_ret, int flags);
     47void run_tests(const struct test_case *test_cases,
     48	       const struct test_opts *opts);
     49void list_tests(const struct test_case *test_cases);
     50void skip_test(struct test_case *test_cases, size_t test_cases_len,
     51	       const char *test_id_str);
     52#endif /* UTIL_H */