BIO_F_BUFFER(3ssl) OpenSSL BIO_F_BUFFER(3ssl) NUME BIO_get_buffer_num_lines, BIO_set_read_buffer_size, BIO_set_write_buffer_size, BIO_set_buffer_size, BIO_set_buffer_read_data, BIO_f_buffer - stocare in tampon BIO SINOPSIS #include const BIO_METHOD *BIO_f_buffer(void); long BIO_get_buffer_num_lines(BIO *b); long BIO_set_read_buffer_size(BIO *b, long size); long BIO_set_write_buffer_size(BIO *b, long size); long BIO_set_buffer_size(BIO *b, long size); long BIO_set_buffer_read_data(BIO *b, void *buf, long num); DESCRIERE BIO_f_buffer() returneaza metoda BIO de stocare in tampon. Datele scrise intr-un BIO tampon sunt stocate in tampon i scrise periodic in urmatorul BIO din lan. Datele citite dintr-un BIO tampon provin dintr-un tampon intern care este umplut din urmatorul BIO din lan. Sunt acceptate atat BIO_gets() cat i BIO_puts(). Apelarea BIO_reset() pe un BIO de stocare in tampon terge toate datele stocate in tampon. BIO_get_buffer_num_lines() returneaza numarul de linii aflate in prezent in tampon. BIO_set_read_buffer_size(), BIO_set_write_buffer_size() i BIO_set_buffer_size() definesc dimensiunile tamponului de citire, scriere sau atat de citire, cat i de scriere la size. Dimensiunea iniiala a tamponului este DEFAULT_BUFFER_SIZE, in prezent 4096. Orice incercare de a reduce dimensiunea tamponului sub DEFAULT_BUFFER_SIZE este ignorata. Orice date stocate in tampon sunt terse atunci cand dimensiunea tamponului este modificata. BIO_set_buffer_read_data() terge tamponul de citire i il umple cu num octei din buf. Daca num este mai mare decat dimensiunea actuala a tamponului, tamponul este extins. NOTE Aceste funcii, cu excepia BIO_f_buffer(), sunt implementate ca macroinstruciuni. BIO-urile de stocare in tampon implementeaza BIO_read_ex() i BIO_gets() utilizand operaii BIO_read_ex() pe urmatorul BIO din lan i stocand rezultatul intr-un tampon intern, din care octeii sunt returnai apelantului in funcie de apel; un BIO_gets() garanteaza ca apelantului i se va da o linie intreaga, iar BIO_read_ex() garanteaza ca apelantului i se va da numarul de octei solicitat, cu excepia cazului in care apare o eroare sau se ajunge la sfaritul comunicarii in urmatorul BIO. Prin adaugarea unui BIO de stocare in tampon la inceputul unui lan, este posibil sa se furnizeze funcionalitatea BIO_gets() sau BIO_read_ex() cu dimensiune exacta, daca BIO-urile urmatoare nu o asigura. Nu adaugai mai mult de un BIO_f_buffer() intr-un lan BIO. Daca facei acest lucru, se va fora citirea completa a dimensiunii tamponului intern al BIO_f_buffer() superior, care este de minimum 4 Kio. Datele sunt scrise in urmatorul BIO din lan numai cand tamponul de scriere se umple sau cand se apeleaza BIO_flush(). Prin urmare, este important sa se apeleze BIO_flush() ori de cate ori trebuie scrise date in ateptare, cum ar fi atunci cand se elimina un BIO de stocare in tampon folosind BIO_pop(). Poate fi necesar sa se reincerce BIO_flush() daca sursa/destinaia finala BIO nu este blocanta. VALORI RETURNATE BIO_f_buffer() returneaza metoda BIO de stocare in tampon. BIO_get_buffer_num_lines() returneaza numarul de linii stocate in tampon (poate fi 0) sau o valoare negativa in cazul apariiei unor erori. BIO_set_read_buffer_size(), BIO_set_write_buffer_size() i BIO_set_buffer_size() returneaza 1 daca dimensiunea tamponului a fost modificata cu succes sau <=0 in caz de eec. BIO_set_buffer_read_data() returneaza 1 daca datele au fost configurate corect sau <=0 daca a aparut o eroare. CONSULTAI I bio(7), BIO_reset(3), BIO_flush(3), BIO_pop(3), BIO_ctrl(3). DREPTURI DE AUTOR Drepturi de autor 2000-2020 The OpenSSL Project Authors. Toate drepturile rezervate. Liceniat sub Licena Apache 2.0 (,,License"). Nu avei voie sa utilizai acest fiier decat in conformitate cu licena. Putei obine o copie din fiierul LICENSE din distribuia sursei sau de la . TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . 3.5.2 5 august 2025 BIO_F_BUFFER(3ssl)