About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / mic / mpssd / mpssd.h


Based on kernel version 4.8. Page generated on 2016-10-06 23:18 EST.

1	/*
2	 * Intel MIC Platform Software Stack (MPSS)
3	 *
4	 * Copyright(c) 2013 Intel Corporation.
5	 *
6	 * This program is free software; you can redistribute it and/or modify
7	 * it under the terms of the GNU General Public License, version 2, as
8	 * published by the Free Software Foundation.
9	 *
10	 * This program is distributed in the hope that it will be useful, but
11	 * WITHOUT ANY WARRANTY; without even the implied warranty of
12	 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13	 * General Public License for more details.
14	 *
15	 * The full GNU General Public License is included in this distribution in
16	 * the file called "COPYING".
17	 *
18	 * Intel MIC User Space Tools.
19	 */
20	#ifndef _MPSSD_H_
21	#define _MPSSD_H_
22	
23	#include <stdio.h>
24	#include <stdlib.h>
25	#include <string.h>
26	#include <fcntl.h>
27	#include <unistd.h>
28	#include <dirent.h>
29	#include <libgen.h>
30	#include <pthread.h>
31	#include <stdarg.h>
32	#include <time.h>
33	#include <errno.h>
34	#include <sys/dir.h>
35	#include <sys/ioctl.h>
36	#include <sys/poll.h>
37	#include <sys/types.h>
38	#include <sys/socket.h>
39	#include <sys/stat.h>
40	#include <sys/types.h>
41	#include <sys/mman.h>
42	#include <sys/utsname.h>
43	#include <sys/wait.h>
44	#include <netinet/in.h>
45	#include <arpa/inet.h>
46	#include <netdb.h>
47	#include <pthread.h>
48	#include <signal.h>
49	#include <limits.h>
50	#include <syslog.h>
51	#include <getopt.h>
52	#include <net/if.h>
53	#include <linux/if_tun.h>
54	#include <linux/if_tun.h>
55	#include <linux/virtio_ids.h>
56	
57	#define MICSYSFSDIR "/sys/class/mic"
58	#define LOGFILE_NAME "/var/log/mpssd"
59	#define PAGE_SIZE 4096
60	
61	struct mic_console_info {
62		pthread_t       console_thread;
63		int		virtio_console_fd;
64		void		*console_dp;
65	};
66	
67	struct mic_net_info {
68		pthread_t       net_thread;
69		int		virtio_net_fd;
70		int		tap_fd;
71		void		*net_dp;
72	};
73	
74	struct mic_virtblk_info {
75		pthread_t       block_thread;
76		int		virtio_block_fd;
77		void		*block_dp;
78		volatile sig_atomic_t	signaled;
79		char		*backend_file;
80		int		backend;
81		void		*backend_addr;
82		long		backend_size;
83	};
84	
85	struct mic_info {
86		int		id;
87		char		*name;
88		pthread_t       config_thread;
89		pthread_t       init_thread;
90		pid_t		pid;
91		struct mic_console_info	mic_console;
92		struct mic_net_info	mic_net;
93		struct mic_virtblk_info	mic_virtblk;
94		int		restart;
95		int		boot_on_resume;
96		struct mic_info *next;
97	};
98	
99	__attribute__((format(printf, 1, 2)))
100	void mpsslog(char *format, ...);
101	char *readsysfs(char *dir, char *entry);
102	int setsysfs(char *dir, char *entry, char *value);
103	#endif
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog