version 1.1, 2013/01/17 10:05:35
|
version 1.8.8.1, 2016/08/11 13:19:16
|
Line 12 terms:
|
Line 12 terms:
|
All of the documentation and software included in the ELWIX and AITNET |
All of the documentation and software included in the ELWIX and AITNET |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
|
|
Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 | Copyright 2004 - 2016 |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
|
|
Redistribution and use in source and binary forms, with or without |
Redistribution and use in source and binary forms, with or without |
Line 71 char elwix_Error[STRSIZ];
|
Line 71 char elwix_Error[STRSIZ];
|
|
|
|
|
// elwix_SetProg() Set program memory pool name |
// elwix_SetProg() Set program memory pool name |
inline void | void |
elwix_SetProg(const char *csProgName) |
elwix_SetProg(const char *csProgName) |
{ |
{ |
strlcpy((char*) elwix_Prog, csProgName, sizeof elwix_Prog); |
strlcpy((char*) elwix_Prog, csProgName, sizeof elwix_Prog); |
} |
} |
|
|
// elwix_GetProg() Get program memory pool name |
// elwix_GetProg() Get program memory pool name |
inline const char * | const char * |
elwix_GetProg() |
elwix_GetProg() |
{ |
{ |
return elwix_Prog; |
return elwix_Prog; |
} |
} |
|
|
// elwix_GetErrno() Get error code of last operation |
// elwix_GetErrno() Get error code of last operation |
inline int | int |
elwix_GetErrno() |
elwix_GetErrno() |
{ |
{ |
return elwix_Errno; |
return elwix_Errno; |
} |
} |
|
|
// elwix_GetError() Get error text of last operation |
// elwix_GetError() Get error text of last operation |
inline const char * | const char * |
elwix_GetError() |
elwix_GetError() |
{ |
{ |
return elwix_Error; |
return elwix_Error; |
} |
} |
|
|
// elwix_SetErr() Set error to variables for internal use!!! |
// elwix_SetErr() Set error to variables for internal use!!! |
inline void | void |
elwix_SetErr(int eno, char *estr, ...) |
elwix_SetErr(int eno, char *estr, ...) |
{ |
{ |
va_list lst; |
va_list lst; |
Line 112 elwix_SetErr(int eno, char *estr, ...)
|
Line 112 elwix_SetErr(int eno, char *estr, ...)
|
} |
} |
|
|
// elwix_mm_inuse() Check for memory management model |
// elwix_mm_inuse() Check for memory management model |
inline int | int |
elwix_mm_inuse() |
elwix_mm_inuse() |
{ |
{ |
return use_mm & ELWIX_MPOOL; |
return use_mm & ELWIX_MPOOL; |
} |
} |
|
|
|
|
|
#pragma GCC visibility push(hidden) |
// init libelwix routine |
// init libelwix routine |
__attribute__((constructor)) void | __attribute__((constructor)) static void |
_elwix_init() |
_elwix_init() |
{ |
{ |
elwixInit(ELWIX_MPOOL, 0); | elwixInit(MEMMGR, 0); |
} |
} |
|
|
// fini libelwix routine |
// fini libelwix routine |
__attribute__((destructor)) void | __attribute__((destructor)) static void |
_elwix_fini() |
_elwix_fini() |
{ |
{ |
elwixFini(); |
elwixFini(); |
Line 173 elwixInit(int mm, u_long maxmem)
|
Line 174 elwixInit(int mm, u_long maxmem)
|
} |
} |
|
|
/* |
/* |
* elwixFini() - Finish libaitio library memory management | * elwixFini() - Finish libelwix library memory management |
* |
* |
* return: none |
* return: none |
*/ |
*/ |
Line 193 elwixFini()
|
Line 194 elwixFini()
|
break; |
break; |
} |
} |
} |
} |
|
#pragma GCC visibility pop |
|
|
|
/* |
|
* elwix_byteOrder() - Detect platform byte order |
|
* |
|
* return: 1 = little endian or 0 big endian |
|
*/ |
|
int |
|
elwix_byteOrder() |
|
{ |
|
int x = 1; |
|
|
|
return *(char*) &x; |
|
} |
|
|
|
#ifndef strlcpy |
|
/* |
|
* Copy src to string dst of size siz. At most siz-1 characters |
|
* will be copied. Always NUL terminates (unless siz == 0). |
|
* Returns strlen(src); if retval >= siz, truncation occurred. |
|
*/ |
|
size_t |
|
strlcpy(char *dst, const char *src, size_t siz) |
|
{ |
|
char *d = dst; |
|
const char *s = src; |
|
register size_t n = siz; |
|
|
|
/* Copy as many bytes as will fit */ |
|
if (n) |
|
while (--n) |
|
if ((*d++ = *s++) == '\0') |
|
break; |
|
|
|
/* Not enough room in dst, add NUL and traverse rest of src */ |
|
if (!n) { |
|
if (siz) |
|
*d = '\0'; /* NUL-terminate dst */ |
|
while (*s++); |
|
} |
|
|
|
return (s - src - 1); /* count does not include NUL */ |
|
} |
|
#endif |
|
|
|
#ifndef strlcat |
|
/* |
|
* Appends src to string dst of size siz (unlike strncat, siz is the |
|
* full size of dst, not space left). At most siz-1 characters |
|
* will be copied. Always NUL terminates (unless siz <= strlen(dst)). |
|
* Returns strlen(src) + MIN(siz, strlen(initial dst)). |
|
* If retval >= siz, truncation occurred. |
|
*/ |
|
size_t |
|
strlcat(char *dst, const char *src, size_t siz) |
|
{ |
|
char *d = dst; |
|
const char *s = src; |
|
register size_t n = siz; |
|
size_t dlen; |
|
|
|
/* Find the end of dst and adjust bytes left but don't go past end */ |
|
while (n-- && *d != '\0') |
|
d++; |
|
|
|
dlen = d - dst; |
|
n = siz - dlen; |
|
if (!n) |
|
return (dlen + strlen(s)); |
|
|
|
while (*s != '\0') { |
|
if (n != 1) { |
|
*d++ = *s; |
|
n--; |
|
} |
|
s++; |
|
} |
|
*d = '\0'; |
|
|
|
return (dlen + (s - src)); /* count does not include NUL */ |
|
} |
|
#endif |