plucky (3) memcmp.3.gz

Provided by: manpages-pl-dev_4.25.1-1_all bug

NAZWA

       memcmp - porównuje obszary pamięci

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #include <string.h>

       int memcmp(const void s1[.n], const void s2[.n], size_t n);

OPIS

       Funkcja memcmp() porównuje pierwsze n bajtów (każdy interpretowany jako unsigned char) obszaru pamięci s1
       z obszarem s2.

WARTOŚĆ ZWRACANA

       Funkcja memcmp() zwraca liczbę całkowitą mniejszą od zera, równą zeru lub większą od zera, jeżeli s1 jest
       odpowiednio mniejszy niż, równy lub większy niż pierwsze n bajtów s2.

       Jeśli  wartość  zwracana jest niezerowa, dodatni lub ujemny znak tej wartości jest określany na podstawie
       znaku różnicy pomiędzy pierwszą parę bajtów (interpretowanych  jako  unsigned  char),  które  się  różnią
       pomiędzy s1 i s2.

       Jeśli n jest zerem, zwracaną wartością jest zero.

ATRYBUTY

       Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).

       ┌───────────────────────────────────────────────────────────────┬────────────────────────┬───────────────┐
       │InterfejsAtrybutWartość       │
       ├───────────────────────────────────────────────────────────────┼────────────────────────┼───────────────┤
       │memcmp()                                                       │ Bezpieczeństwo wątkowe │ MT-bezpieczne │
       └───────────────────────────────────────────────────────────────┴────────────────────────┴───────────────┘

STANDARDY

       C11, POSIX.1-2008.

HISTORIA

       POSIX.1-2001, C89, SVr4, 4.3BSD.

ZASTRZEŻENIA

       Nie  należy używać memcmp() do porównywania danych poufnych, takich jak sekrety kryptograficzne, ponieważ
       czas procesora wymagany do porównywania zależy od zawartości porównywanych adresów, co czyni  tę  funkcję
       podatną  na  ataki  bocznego  kanału  bazujące  na  czasie.  W  takich przypadkach, wymagana jest funkcja
       wykonująca porównanie w deterministycznym czasie, zależnym tylko  od  n  (liczby  porównywanych  bajtów).
       Niektóre   systemy   operacyjne   udostępniają   taką   funkcję   (np.   w   systemie   NetBSD   jest  to
       consttime_memequal()), lecz nie określono jej w  specyfikacji  POSIX.  W  Linuksie,  może  być  konieczne
       samodzielne zaimplementowanie takiej funkcji.

ZOBACZ TAKŻE

       bstring(3), strcasecmp(3), strcmp(3), strcoll(3), strncasecmp(3), strncmp(3), wmemcmp(3)

TŁUMACZENIE

       Autorami  polskiego  tłumaczenia  niniejszej  strony  podręcznika są: Adam Byrtek <alpha@irc.pl>, Andrzej
       Krzysztofowicz  <ankry@green.mf.pg.gda.pl>,  Robert   Luberda   <robert@debian.org>   i   Michał   Kułach
       <michal.kulach@gmail.com>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją.  Bliższe informacje o warunkach licencji można uzyskać
       zapoznając się z GNU General Public License w wersji  3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  lub
       nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

       Błędy  w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy dyskusyjnej ⟨manpages-pl-
       list@lists.sourceforge.net⟩.