32 #include "safeclib_private.h" 33 #include "safe_mem_constraint.h" 34 #include "mem_primitives_lib.h" 35 #include "safe_mem_lib.h" 74 memcpy16_s (uint16_t *dest, rsize_t dmax,
const uint16_t *src, rsize_t smax)
79 return (RCNEGATE(ESNULLP));
85 return (RCNEGATE(ESZEROL));
88 if (dmax > RSIZE_MAX_MEM16 || smax > RSIZE_MAX_MEM16) {
91 return (RCNEGATE(ESLEMAX));
98 return (RCNEGATE(ESZEROL));
105 return (RCNEGATE(ESNOSPC));
112 return (RCNEGATE(ESNULLP));
118 if( ((dest > src) && (dest < (src+smax))) ||
119 ((src > dest) && (src < (dest+dmax))) ) {
123 return (RCNEGATE(ESOVRLP));
131 return (RCNEGATE(EOK));
errno_t memcpy16_s(uint16_t *dest, rsize_t dmax, const uint16_t *src, rsize_t smax)
This function copies at most smax uint16_ts from src to dest, up to dmax.
void mem_prim_set16(uint16_t *dest, uint32_t len, uint16_t value)
Sets len uint16_t's starting at dest to the specified value.
void invoke_safe_mem_constraint_handler(const char *msg, void *ptr, errno_t error)
Invokes the currently set constraint handler or the default.
void mem_prim_move16(uint16_t *dest, const uint16_t *src, uint32_t len)
Moves at most len uint16_t's from src to dest.