manpagez: man pages & more
man OPENSSL_store_u16_le(3)
Home | html | info | man
OPENSSL_LOAD_U16_LE(3ossl)          OpenSSL         OPENSSL_LOAD_U16_LE(3ossl)



NAME

       OPENSSL_load_u16_le, OPENSSL_load_u16_be, OPENSSL_load_u32_le,
       OPENSSL_load_u32_be, OPENSSL_load_u64_le, OPENSSL_load_u64_be,
       OPENSSL_store_u16_le, OPENSSL_store_u16_be, OPENSSL_store_u32_le,
       OPENSSL_store_u32_be, OPENSSL_store_u64_le, OPENSSL_store_u64_be - Read
       and write unsigned 16, 32 and 64-bit integers in a specific byte order


SYNOPSIS

           #include <openssl/byteorder.h>

           static ossl_inline unsigned char *OPENSSL_store_u16_le(
               unsigned char *out, uint16_t val);
           static ossl_inline unsigned char *OPENSSL_store_u16_be(
               unsigned char *out, uint16_t val);
           static ossl_inline unsigned char *OPENSSL_store_u32_le(
               unsigned char *out, uint32_t val);
           static ossl_inline unsigned char *OPENSSL_store_u32_be(
               unsigned char *out, uint32_t val);
           static ossl_inline unsigned char *OPENSSL_store_u64_le(
               unsigned char *out, uint64_t val);
           static ossl_inline unsigned char *OPENSSL_store_u64_be(
               unsigned char *out, uint64_t val);
           static ossl_inline const unsigned char *OPENSSL_load_u16_le(
               uint16_t *val, const unsigned char *in);
           static ossl_inline const unsigned char *OPENSSL_load_u16_be(
               uint16_t *val, const unsigned char *in);
           static ossl_inline const unsigned char *OPENSSL_load_u32_le(
               uint32_t *val, const unsigned char *in);
           static ossl_inline const unsigned char *OPENSSL_load_u32_be(
               uint32_t *val, const unsigned char *in);
           static ossl_inline const unsigned char *OPENSSL_load_u64_le(
               uint64_t *val, const unsigned char *in);
           static ossl_inline const unsigned char *OPENSSL_load_u64_be(
               uint64_t *val, const unsigned char *in);


DESCRIPTION

       These functions read and write 16, 32 and 64 bit unsigned integers in a
       specified byte order.  The "_be" functions use big-endian byte order,
       while the "_le" functions use little-endian byte order.  They're
       implemented directly in the header file, and declared static.  When the
       compiler supports inline functions, they're also declared inline.  An
       optimising compiler will often convert these to just one or two machine
       instructions: a load or store with a possible byte swap.

       The "load" functions write the decoded integer value at the address
       pointed to by val, which must be a valid (possibly suitably aligned)
       address of an object of the appropriate type.  The "store" functions
       write the encoding of val at the address pointed to by out.

       For convenience, these functions return the updated input or output
       pointer, making it easy to continue reading or writing more data at the
       next memory location.

       No bounds checks are performed, the caller is responsible for making
       sure that the input or output buffers are sufficiently large for the
       requested read or write.


RETURN VALUES

       All these functions return the next memory address following the last
       byte written or read.


HISTORY

       These functions were added in OpenSSL 3.5.


COPYRIGHT

       Copyright 2025 The OpenSSL Project Authors. All Rights Reserved.

       Licensed under the Apache License 2.0 (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>.

3.5.0                             2025-04-10        OPENSSL_LOAD_U16_LE(3ossl)

openssl 3.5.0 - Generated Tue Apr 22 15:49:39 CDT 2025
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.