• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <stdarg.h>
2 #include <sys/ioctl.h>
3 
4 /* Derived from development/ndk/platforms/android-3/arch-arm/include/asm/ioctls.h */
5 
6 #define TCGETS_PORTABLE		0x5401
7 #define TCSETS_PORTABLE		0x5402
8 #define TCSETSW_PORTABLE	0x5403
9 #define TCSETSF_PORTABLE	0x5404
10 #define TCGETA_PORTABLE		0x5405
11 #define TCSETA_PORTABLE		0x5406
12 #define TCSETAW_PORTABLE	0x5407
13 #define TCSETAF_PORTABLE	0x5408
14 #define TCSBRK_PORTABLE		0x5409
15 #define TCXONC_PORTABLE		0x540A
16 #define TCFLSH_PORTABLE		0x540B
17 #define TIOCEXCL_PORTABLE	0x540C
18 #define TIOCNXCL_PORTABLE	0x540D
19 #define TIOCSCTTY_PORTABLE	0x540E
20 #define TIOCGPGRP_PORTABLE	0x540F
21 #define TIOCSPGRP_PORTABLE	0x5410
22 #define TIOCOUTQ_PORTABLE	0x5411
23 #define TIOCSTI_PORTABLE	0x5412
24 #define TIOCGWINSZ_PORTABLE	0x5413
25 #define TIOCSWINSZ_PORTABLE	0x5414
26 #define TIOCMGET_PORTABLE	0x5415
27 #define TIOCMBIS_PORTABLE	0x5416
28 #define TIOCMBIC_PORTABLE	0x5417
29 #define TIOCMSET_PORTABLE	0x5418
30 #define TIOCGSOFTCAR_PORTABLE	0x5419
31 #define TIOCSSOFTCAR_PORTABLE	0x541A
32 #define FIONREAD_PORTABLE	0x541B
33 #define TIOCINQ_PORTABLE	FIONREAD_PORTABLE
34 #define TIOCLINUX_PORTABLE	0x541C
35 #define TIOCCONS_PORTABLE	0x541D
36 #define TIOCGSERIAL_PORTABLE	0x541E
37 #define TIOCSSERIAL_PORTABLE	0x541F
38 #define TIOCPKT_PORTABLE	0x5420
39 #define FIONBIO_PORTABLE	0x5421
40 #define TIOCNOTTY_PORTABLE	0x5422
41 #define TIOCSETD_PORTABLE	0x5423
42 #define TIOCGETD_PORTABLE	0x5424
43 #define TCSBRKP_PORTABLE	0x5425
44 #define TIOCSBRK_PORTABLE	0x5427
45 #define TIOCCBRK_PORTABLE	0x5428
46 #define TIOCGSID_PORTABLE	0x5429
47 //#define TIOCGPTN _IOR('T',0x30, unsigned int)
48 //#define TIOCSPTLCK _IOW('T',0x31, int)
49 
50 #define FIONCLEX_PORTABLE	0x5450
51 #define FIOCLEX_PORTABLE	0x5451
52 #define FIOASYNC_PORTABLE	0x5452
53 #define TIOCSERCONFIG_PORTABLE	0x5453
54 #define TIOCSERGWILD_PORTABLE	0x5454
55 #define TIOCSERSWILD_PORTABLE	0x5455
56 #define TIOCGLCKTRMIOS_PORTABLE	0x5456
57 #define TIOCSLCKTRMIOS_PORTABLE	0x5457
58 #define TIOCSERGSTRUCT_PORTABLE	0x5458
59 #define TIOCSERGETLSR_PORTABLE	0x5459
60 #define TIOCSERGETMULTI_PORTABLE 0x545A
61 #define TIOCSERSETMULTI_PORTABLE 0x545B
62 
63 #define TIOCMIWAIT_PORTABLE	0x545C
64 #define TIOCGICOUNT_PORTABLE	0x545D
65 #define FIOQSIZE_PORTABLE	0x545E /* x86 differs here */
66 
67 #define TIOCPKT_DATA_PORTABLE		0
68 #define TIOCPKT_FLUSHREAD_PORTABLE	1
69 #define TIOCPKT_FLUSHWRITE_PORTABLE	2
70 #define TIOCPKT_STOP_PORTABLE		4
71 #define TIOCPKT_START_PORTABLE		8
72 #define TIOCPKT_NOSTOP_PORTABLE		16
73 #define TIOCPKT_DOSTOP_PORTABLE		32
74 
75 #define TIOCSER_TEMT_PORTABLE	0x01
76 
77 #if FIONREAD_PORTABLE==FIONREAD
78 #error Build environment
79 #endif
80 
mips_change_request(int request)81 static inline int mips_change_request(int request)
82 {
83     /* Only handles FIO* for now */
84     switch(request) {
85     case FIONREAD_PORTABLE:
86 	return FIONREAD;
87     case FIONBIO_PORTABLE:
88 	return FIONBIO;
89     case FIONCLEX_PORTABLE:
90 	return FIONCLEX;
91     case FIOCLEX_PORTABLE:
92 	return FIOCLEX;
93     case FIOASYNC_PORTABLE:
94 	return FIOASYNC;
95     case FIOQSIZE_PORTABLE:
96 	return FIOQSIZE;
97     }
98     return request;
99 }
100 
101 extern int __ioctl(int, int, void *);
ioctl(int fd,int request,...)102 int ioctl(int fd, int request, ...)
103 {
104     va_list ap;
105     void * arg;
106 
107     va_start(ap, request);
108     arg = va_arg(ap, void *);
109     va_end(ap);
110 
111     return __ioctl(fd, mips_change_request(request), arg);
112 }
113