| 
									
										
										
										
											2000-09-14 08:05:50 +08:00
										 |  |  | =pod | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 NAME | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-09-15 04:24:56 +08:00
										 |  |  | BIO_s_socket, BIO_new_socket - socket BIO | 
					
						
							| 
									
										
										
										
											2000-09-14 08:05:50 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | =head1 SYNOPSIS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |  #include <openssl/bio.h> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-20 00:32:14 +08:00
										 |  |  |  const BIO_METHOD *BIO_s_socket(void); | 
					
						
							| 
									
										
										
										
											2000-09-14 08:05:50 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |  BIO *BIO_new_socket(int sock, int close_flag); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 DESCRIPTION | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-09-14 20:44:34 +08:00
										 |  |  | BIO_s_socket() returns the socket BIO method. This is a wrapper | 
					
						
							| 
									
										
										
										
											2000-09-14 08:05:50 +08:00
										 |  |  | round the platform's socket routines. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-20 16:56:18 +08:00
										 |  |  | BIO_read_ex() and BIO_write_ex() read or write the underlying socket. | 
					
						
							| 
									
										
										
										
											2000-09-14 08:05:50 +08:00
										 |  |  | BIO_puts() is supported but BIO_gets() is not. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | If the close flag is set then the socket is shut down and closed | 
					
						
							|  |  |  | when the BIO is freed. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | BIO_new_socket() returns a socket BIO using B<sock> and B<close_flag>. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 NOTES | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Socket BIOs also support any relevant functionality of file descriptor | 
					
						
							|  |  |  | BIOs. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The reason for having separate file descriptor and socket BIOs is that on some | 
					
						
							|  |  |  | platforms sockets are not file descriptors and use distinct I/O routines, | 
					
						
							|  |  |  | Windows is one such platform. Any code mixing the two will not work on | 
					
						
							|  |  |  | all platforms. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 RETURN VALUES | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | BIO_s_socket() returns the socket BIO method. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | BIO_new_socket() returns the newly allocated BIO or NULL is an error | 
					
						
							|  |  |  | occurred. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-18 23:44:05 +08:00
										 |  |  | =head1 COPYRIGHT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-06 21:04:44 +08:00
										 |  |  | Licensed under the Apache License 2.0 (the "License").  You may not use | 
					
						
							| 
									
										
										
										
											2016-05-18 23:44:05 +08:00
										 |  |  | this file except in compliance with the License.  You can obtain a copy | 
					
						
							|  |  |  | in the file LICENSE in the source distribution or at | 
					
						
							|  |  |  | L<https://www.openssl.org/source/license.html>. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =cut |