Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(30)

Side by Side Diff: native_client_sdk/src/libraries/nacl_io/ioctl.h

Issue 334983007: [NaCl SDK] Remove use of TIOCNACLINPUT from nacl_io/ppapi_simple. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: feedback Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* Copyright 2013 The Chromium Authors. All rights reserved. 1 /* Copyright 2013 The Chromium Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be 2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file. */ 3 * found in the LICENSE file. */
4 4
5 #ifndef LIBRARIES_NACL_IO_IOCTL_H_ 5 #ifndef LIBRARIES_NACL_IO_IOCTL_H_
6 #define LIBRARIES_NACL_IO_IOCTL_H_ 6 #define LIBRARIES_NACL_IO_IOCTL_H_
7 7
8 #include <sys/types.h> 8 #include <sys/types.h>
9 9
10 /* 10 /*
11 * ioctl to feed input to a tty node. Accepts a pointer to the following 11 * ioctl to register an output handler with the tty node. Will fail with
12 * struct (tioc_nacl_input_string), which contains a pointer to an array 12 * EALREADY if a handler is already registered. Expects an argument of type
13 * of characters. 13 * tioc_nacl_output. The handler will be called during calls to write() on the
14 */ 14 * thread that calls write(), or, for echoed input during the
15 #define TIOCNACLINPUT 0xadcd02 15 * NACL_IOC_HANDLEMESSAGE ioctl() on the thread calling ioctl(). The handler
16 16 * should return the number of bytes written/handled, or -errno if an error
17 /* 17 * occured.
18 * ioctl to register an output handler with the tty node. Will fail
19 * with EALREADY if a handler is already registered. Expects an
20 * argument of type tioc_nacl_output. The handler will be called during
21 * calls to write() on the thread that calls write(), or, for echoed input
22 * during the TIOCNACLINPUT ioctl() on the thread calling ioctl(). The
23 * handler should return the number of bytes written/handled, or -errno
24 * if an error occured.
25 */ 18 */
26 #define TIOCNACLOUTPUT 0xadcd03 19 #define TIOCNACLOUTPUT 0xadcd03
27 20
28 /* 21 /*
29 * ioctl used to set a name for a JavaScript pipe. The name 22 * ioctl used to set a name for a JavaScript pipe. The name
30 * is a string that is used to uniquely identify messages posted to and from 23 * is a string that is used to uniquely identify messages posted to and from
31 * JavaScript which signifies that the message is destined for a 24 * JavaScript which signifies that the message is destined for a
32 * particular pipe device. For this reason each device must have a 25 * particular pipe device. For this reason each device must have a
33 * unique prefix. Until a prefix is set on a given pipe any I/O operations 26 * unique prefix. Until a prefix is set on a given pipe any I/O operations
34 * will return EIO. 27 * will return EIO.
35 */ 28 */
36 #define NACL_IOC_PIPE_SETNAME 0xadcd04 29 #define NACL_IOC_PIPE_SETNAME 0xadcd04
37 30
38 /* 31 /*
39 * Find out how much space is available in a nacl_io pipe. 32 * Find out how much space is available in a nacl_io pipe.
40 * Argument type is "int*" which will be set to the amount of space in the 33 * Argument type is "int*" which will be set to the amount of space in the
41 * pipe in bytes. 34 * pipe in bytes.
42 */ 35 */
43 #define NACL_IOC_PIPE_GETOSPACE 0xadcd06 36 #define NACL_IOC_PIPE_GETOSPACE 0xadcd06
44 #define NACL_IOC_PIPE_GETISPACE 0xadcd07 37 #define NACL_IOC_PIPE_GETISPACE 0xadcd07
45 38
46 /* 39 /*
47 * ioctl used to pass messages from JavaScript to a node. 40 * ioctl used to pass messages from JavaScript to a node.
48 * Argument type is "struct PP_Var*". 41 * Argument type is "struct PP_Var*".
49 */ 42 */
50 #define NACL_IOC_HANDLEMESSAGE 0xadcd05 43 #define NACL_IOC_HANDLEMESSAGE 0xadcd05
51 44
52 typedef char* naclioc_jspipe_name; 45 typedef char* naclioc_jspipe_name;
53 46
54 struct tioc_nacl_input_string {
55 size_t length;
56 const char* buffer;
57 };
58
59 typedef ssize_t (*tioc_nacl_output_handler_t)(const char* buf, 47 typedef ssize_t (*tioc_nacl_output_handler_t)(const char* buf,
60 size_t count, 48 size_t count,
61 void* user_data); 49 void* user_data);
62 50
63 struct tioc_nacl_output { 51 struct tioc_nacl_output {
64 tioc_nacl_output_handler_t handler; 52 tioc_nacl_output_handler_t handler;
65 void* user_data; 53 void* user_data;
66 }; 54 };
67 55
68 56
69 #endif /* LIBRARIES_NACL_IO_NACL_IO_H_ */ 57 #endif /* LIBRARIES_NACL_IO_NACL_IO_H_ */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698