About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / mic / mpssd / mpssd.h




Custom Search

Based on kernel version 3.16. Page generated on 2014-08-06 21:40 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		pid_t		pid;
90		struct mic_console_info	mic_console;
91		struct mic_net_info	mic_net;
92		struct mic_virtblk_info	mic_virtblk;
93		int		restart;
94		int		boot_on_resume;
95		struct mic_info *next;
96	};
97	
98	__attribute__((format(printf, 1, 2)))
99	void mpsslog(char *format, ...);
100	char *readsysfs(char *dir, char *entry);
101	int setsysfs(char *dir, char *entry, char *value);
102	#endif
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.