Blame view

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