初始化提交
This commit is contained in:
		
							
								
								
									
										69
									
								
								Plugins/slua_unreal/External/luasocket/io.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								Plugins/slua_unreal/External/luasocket/io.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,69 @@ | ||||
| #ifndef IO_H | ||||
| #define IO_H | ||||
| /*=========================================================================*\ | ||||
| * Input/Output abstraction | ||||
| * LuaSocket toolkit | ||||
| * | ||||
| * This module defines the interface that LuaSocket expects from the | ||||
| * transport layer for streamed input/output. The idea is that if any | ||||
| * transport implements this interface, then the buffer.c functions | ||||
| * automatically work on it. | ||||
| * | ||||
| * The module socket.h implements this interface, and thus the module tcp.h | ||||
| * is very simple. | ||||
| \*=========================================================================*/ | ||||
| #include <stdio.h> | ||||
| #include "lua.h" | ||||
|  | ||||
| #include "timeout.h" | ||||
|  | ||||
| namespace NS_SLUA {     | ||||
|  | ||||
| /* IO error codes */ | ||||
| enum { | ||||
|     IO_DONE = 0,        /* operation completed successfully */ | ||||
|     IO_TIMEOUT = -1,    /* operation timed out */ | ||||
|     IO_CLOSED = -2,     /* the connection has been closed */ | ||||
| 	IO_UNKNOWN = -3      | ||||
| }; | ||||
|  | ||||
| /* interface to error message function */ | ||||
| typedef const char *(*p_error) ( | ||||
|     void *ctx,          /* context needed by send */ | ||||
|     int err             /* error code */ | ||||
| ); | ||||
|  | ||||
| /* interface to send function */ | ||||
| typedef int (*p_send) ( | ||||
|     void *ctx,          /* context needed by send */ | ||||
|     const char *data,   /* pointer to buffer with data to send */ | ||||
|     size_t count,       /* number of bytes to send from buffer */ | ||||
|     size_t *sent,       /* number of bytes sent uppon return */ | ||||
|     p_timeout tm        /* timeout control */ | ||||
| ); | ||||
|  | ||||
| /* interface to recv function */ | ||||
| typedef int (*p_recv) ( | ||||
|     void *ctx,          /* context needed by recv */ | ||||
|     char *data,         /* pointer to buffer where data will be writen */ | ||||
|     size_t count,       /* number of bytes to receive into buffer */ | ||||
|     size_t *got,        /* number of bytes received uppon return */ | ||||
|     p_timeout tm        /* timeout control */ | ||||
| ); | ||||
|  | ||||
| /* IO driver definition */ | ||||
| typedef struct t_io_ { | ||||
|     void *ctx;          /* context needed by send/recv */ | ||||
|     p_send send;        /* send function pointer */ | ||||
|     p_recv recv;        /* receive function pointer */ | ||||
|     p_error error;      /* strerror function */ | ||||
| } t_io; | ||||
| typedef t_io *p_io; | ||||
|  | ||||
| void io_init(p_io io, p_send send, p_recv recv, p_error error, void *ctx); | ||||
| const char *io_strerror(int err); | ||||
|  | ||||
| } // end NS_SLUA | ||||
|  | ||||
| #endif /* IO_H */ | ||||
|  | ||||
		Reference in New Issue
	
	Block a user