bio(7) - wariua/manpages-ko GitHub Wiki
NAME
bio - ๊ธฐ๋ณธ(Basic) I/O ์ถ์ํ
SYNOPSIS
#include <openssl/bio.h>
DESCRIPTION
BIO๋ I/O๋ฅผ ์ถ์ํํ ๊ฒ์ผ๋ก ๊ธฐ๋ฐ I/O์ ์ฌ๋ฌ ์ธ๋ถ ์ฌํญ๋ค์ ์์ฉ์๊ฒ ๊ฐ์ถฐ ์ค๋ค. ์์ฉ์์ I/O์ BIO๋ฅผ ์ฌ์ฉํ๋ฉด SSL ์ฐ๊ฒฐ, ๋น์ํธํ ๋คํธ์ํฌ ์ฐ๊ฒฐ, ํ์ผ I/O๋ฅผ ํฌ๋ช ํ๊ฒ ๋ค๋ฃฐ ์ ์๋ค.
BIO์๋ ๋ ์ข ๋ฅ๊ฐ ์๋๋ฐ, ์์ฒ/์ฑํฌ BIO์ ํํฐ BIO์ด๋ค.
์ด๋ฆ์์ ์ ์ ์๋ฏ ์์ฒ/์ฑํฌ BIO๋ ๋ฐ์ดํฐ์ ์์ฒ ๋ฐ/๋๋ ์ฑํฌ(sink)์ด๋ค. ์๋ก๋ ์์ผ BIO์ ํ์ผ BIO๊ฐ ์๋ค.
ํํฐ BIO๋ ํ BIO์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ ๋ค๋ฅธ BIO๋ ์์ฉ์ผ๋ก ์ ๋ฌํ๋ค. ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋์ง ์์ ์๋ ์๊ณ (๊ฐ๋ น ๋ฉ์์ง ๋ค์ด์ ์คํธ BIO) ๋ณํ๋ ์๋ ์๋ค (๊ฐ๋ น ์ํธํ BIO). ์ํํ๋ I/O ๋์์ ๋ฐ๋ผ ํํฐ BIO์ ํจ๊ณผ๊ฐ ๋ฌ๋ผ์ง ์๋ ์๋ค. ์๋ฅผ ๋ค์ด ์ํธํ BIO๋ ์ฐ๋ ๊ฒฝ์ฐ์๋ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๊ณ ์ฝ๋ ๊ฒฝ์ฐ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ณตํธํ ํ ๊ฒ์ด๋ค.
BIO๋ฅผ ์ฐ๊ฒฐํด์ ์ฌ์ฌ๋ก ๋ง๋ค ์ ์๋ค. (๋จ์ผ BIO๋ ํ ๊ฐ์ง๋ฆฌ ์ฌ์ฌ์ด๋ค.) ์ฌ์ฌ์ ์ผ๋ฐ์ ์ผ๋ก ํ ๊ฐ์ ์์ฒ/์ฑํฌ BIO์ ํ ๊ฐ ์ด์์ ํํฐ BIO๋ก ์ด๋ค์ง๋ค. ์ฒซ ๋ฒ์งธ BIO์์ ์ฝ๊ฑฐ๋ ์ด ๋ฐ์ดํฐ๊ฐ ์ฌ์ฌ์ ๊ฑฐ์ณ ๋(์ผ๋ฐ์ ์ผ๋ก ์์ฒ/์ฑํฌ BIO)๊น์ง ๊ฐ๋ค.
(๋ฉ๋ชจ๋ฆฌ BIO ๊ฐ์) ์ด๋ค BIO๋ค์ BIO_new()
ํธ์ถ ์งํ์ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค. (ํ์ผ BIO ๊ฐ์) ๋ค๋ฅธ BIO๋ค์ ์ด๋ค ์ถ๊ฐ ์ด๊ธฐํ๊ฐ ํ์ํ๋ฉฐ, ๊ทธ๋ฐ BIO๋ฅผ ์์ฑํ๊ณ ์ด๊ธฐํ ํ๊ธฐ ์ํ ๋ณด์กฐ ํจ์๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
BIO ์ฌ์ฌ์ BIO_free()
๋ฅผ ํธ์ถํ๋ฉด BIO ํ ๊ฐ๋ง ํด์ ํ๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ ๋์๊ฐ ๋ฐ์ํ๋ค.
๋จ์ผ BIO์ BIO_free_all()
์ ํธ์ถํ๋ ๊ฒ์ ๋ฐํ ๊ฐ์ ๋ฒ๋ฆฐ๋ค๋ ์ ์ ์ ์ธํ๋ฉด BIO_free()
๋ฅผ ํธ์ถํ๋ ๊ฒ๊ณผ ํจ๊ณผ๊ฐ ๊ฐ๋ค.
๋ณดํต type
์ธ์๋ BIO_METHOD ํฌ์ธํฐ๋ฅผ ๋ฐํํ๋ ํจ์๋ก ์ ๊ณตํ๋ค. ๊ทธ๋ฐ ํจ์๋ค์๋ ๋ช
๋ช
๊ดํ์ด ์๋๋ฐ, ๋ณดํต ์์ฒ/์ฑํฌ BIO๋ BIO_s_*()
์ด๊ณ ํํฐ BIO๋ BIO_f_*()
์ด๋ค.
EXAMPLE
๋ฉ๋ชจ๋ฆฌ BIO ๋ง๋ค๊ธฐ:
BIO *mem = BIO_new(BIO_s_mem());
SEE ALSO
BIO_ctrl(3)
, BIO_f_base64(3)
, BIO_f_buffer(3)
, BIO_f_cipher(3)
, BIO_f_md(3)
, BIO_f_null(3)
, BIO_f_ssl(3)
, BIO_find_type(3)
, BIO_new(3)
, BIO_new_bio_pair(3)
, BIO_push(3)
, BIO_read_ex(3)
, BIO_s_accept(3)
, BIO_s_bio(3)
, BIO_s_connect(3)
, BIO_s_fd(3)
, BIO_s_file(3)
, BIO_s_mem(3)
, BIO_s_null(3)
, BIO_s_socket(3)
, BIO_set_callback(3)
, BIO_should_retry(3)
COPYRIGHT
Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.
2017-12-31