BIO_PUSH(3ssl) OpenSSL BIO_PUSH(3ssl) NUME BIO_push, BIO_pop, BIO_set_next - adauga i elimina BIO-uri dintr-un lan SINOPSIS #include BIO *BIO_push(BIO *b, BIO *next); BIO *BIO_pop(BIO *b); void BIO_set_next(BIO *b, BIO *next); DESCRIERE BIO_push() introduce b in next. Daca b este NULL, funcia nu face nimic i returneaza next. In caz contrar, adauga b, care poate fi un singur BIO sau un lan de BIO-uri, inaintea lui next (cu excepia cazului in care next este NULL). Apoi efectueaza un apel de control asupra lui b i returneaza b. BIO_pop() elimina BIO b din orice lan din care face parte. Daca b este NULL, funcia nu face nimic i returneaza NULL. In caz contrar, efectueaza un apel de control pe b i returneaza urmatorul BIO din lan sau NULL daca nu exista urmatorul BIO. BIO-ul eliminat devine un BIO unic, fara asociere cu lanul original, putand astfel fi eliberat sau inclus intr-un lan diferit. BIO_set_next() inlocuiete urmatorul BIO existent intr-un lan cu BIO-ul indicat de next. Noul lan poate include unele dintre aceleai BIO-uri din lanul vechi sau poate fi complet diferit. NOTE Numele acestor funcii sunt poate puin inelatoare. BIO_push() unete doua lanuri BIO, in timp ce BIO_pop() terge un singur BIO dintr-un lan, BIO-ul ters nefiind neaparat la sfaritul lanului. Procesul de apelare a BIO_push() i BIO_pop() pe un BIO poate avea consecine suplimentare (se efectueaza un apel de control catre BIO-urile afectate). Orice efecte vor fi menionate in descrierile individuale ale BIO-urilor. VALORI RETURNATE BIO_push() returneaza capul lanului, care este de obicei b, sau next daca b este NULL. BIO_pop() returneaza urmatorul BIO din lan sau NULL daca nu exista urmatorul BIO. EXEMPLE Pentru aceste exemple, sa presupunem ca md1 i md2 sunt BIO-uri rezumate (digest), b64 este un BIO base64, iar f este un BIO fiier. Daca apelul: BIO_push(b64, f); este creat, atunci noul lan va fi b64-f. Dupa efectuarea apelurilor BIO_push(md2, b64); BIO_push(md1, md2); noul lan este md1-md2-b64-f. Datele scrise in md1 vor fi procesate de md1 i md2, codificate in base64 i, in final, scrise in f. Trebuie remarcat faptul ca citirea determina trecerea datelor in sens invers, adica datele sunt citite din f, decodificate in base64 i procesate de md2 i apoi de md1. Apelul: BIO_pop(md2); va returna b64, iar noul lan va fi md1-b64-f. Datele pot fi scrise i citite din md1 ca i pana acum, cu excepia faptului ca md2 nu va mai fi aplicat. CONSULTAI I bio(7) ISTORIC Funcia BIO_set_next() a fost adaugata in OpenSSL 1.1.0. DREPTURI DE AUTOR Drepturi de autor 2000-2021 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_PUSH(3ssl)