XC16 Standard C Libraries

The following section contains a Language Reference for the Standard C Libraries supplied with the free Microchip XC16 compiler. This is the programming language and compiler use for Netcruzer projects and demos.


- assert.h
- ctype.h
- errno.h
- float.h
- limits.h
- locale.h
- math.h
- setjmp.h
- signal.h
- stdarg.h
- stddef.h
- stdio.h
- stdlib.h
- string.h
- time.h
===== assert =====
  assert (int expression)

===== ctype.h =====
int  isalnum (int c)
int  isalpha (int c)
int  iscntrl (int c)
int  isdigit (int c)
int  isgraph (int c)
int  islower (int c)
int  isprint (int c)
int  ispunct (int c)
int  isspace (int c)
int  isupper (int c)
int  isxdigit (int c)
int  tolower (int c)
int  toupper (int c)

===== errno.h =====
#define  ERANGE 
#define  EDOM 

===== float.h =====
#define  DBL_DIG 
#define  DBL_EPSILON 
#define  DBL_MANT_DIG 
#define  DBL_MAX 
#define  DBL_MAX_10_EXP 
#define  DBL_MAX_EXP 
#define  DBL_MIN 
#define  DBL_MIN_10_EXP 
#define  DBL_MIN_EXP 
#define  FLT_DIG 
#define  FLT_EPSILON 
#define  FLT_MANT_DIG 
#define  FLT_MAX 
#define  FLT_MAX_10_EXP 
#define  FLT_MAX_EXP 
#define  FLT_MIN 
#define  FLT_MIN_10_EXP 
#define  FLT_MIN_EXP 
#define  FLT_RADIX 
#define  FLT_ROUNDS 
#define  LDBL_DIG 
#define  LDBL_EPSILON 
#define  LDBL_MANT_DIG 
#define  LDBL_MAX 
#define  LDBL_MAX_10_EXP 
#define  LDBL_MAX_EXP 
#define  LDBL_MIN 
#define  LDBL_MIN_10_EXP 
#define  LDBL_MIN_EXP 
===== limits.h =====
#define  CHAR_BIT 
#define  CHAR_MAX 
#define  CHAR_MIN 
#define  INT_MAX 
#define  INT_MIN 
#define  LLONG_MAX 
#define  LLONG_MIN 
#define  LONG_MAX 
#define  LONG_MIN 
#define  MB_LEN_MAX 
#define  SCHAR_MAX 
#define  SCHAR_MIN 
#define  SHRT_MAX 
#define  SHRT_MIN 
#define  UCHAR_MAX 
#define  UINT_MAX 
#define  ULLONG_MAX 
#define  ULONG_MAX 
#define  USHRT_MAX 

===== locale.h =====

===== math.h =====
double  acos (double x)
float  acosf (float x)
double  asin (double x)
float  asinf (float x)
double  atan (double x)
float  atanf (float x)
double  atan2 (double y, double x)
float  atan2f (float y, float x)
double  ceil (double x)
float  ceilf (float x)
double  cos (double x)
float  cosf (float x)
double  cosh (double x)
float  coshf (float x)
double  exp (double x)
float  expf (float x)
double  fabs (double x)
float  fabsf (float x)
double  floor (double x)
float  floorf (float x)
double  fmod (double x, double y)
float  fmodf (float x, float y)
double  frexp (double x, int *exp)
float  frexpf (float x, int *exp)
double  ldexp (double x, int ex)
float  ldexpf (float x, int ex)
double  log (double x)
double  log10 (double x)
float  log10f (float x)
float  logf (float x)
double  modf (double x, double *pint)
float  modff (float x, float *pint)
double  pow (double x, double y)
float  powf (float x, float y)
double  sin (double x)
float  sinf (float x)
double  sinh (double x)
float  sinhf (float x)
double  sqrt (double x)
float  sqrtf (float x)
double  tan (double x)
float  tanf (float x)
double  tanh (double x)
float  tanhf (float x)
===== setjmp.h =====
typedef unsigned int  jmp_buf [18]
int  setjmp (jmp_buf env)
void  longjmp (jmp_buf env, int val)

===== signal.h =====
#define  SIG_DFL 
#define  SIG_ERR 
#define  SIG_IGN 
#define  SIGABRT 
#define  SIGFPE 
#define  SIGILL 
#define  SIGINT 
#define  SIGSEGV 
#define  SIGTERM 
typedef int  sig_atomic_t
int  raise (int sig)

===== stdarg.h =====
#define  va_arg(ap, Ty)
#define  va_end(ap)
#define  va_start(ap, last_arg)

===== stddef.h =====
#define  NULL
#define  offsetof(T, mbr)
typedef ptrdiff_t
typedef size_t
typedef wchar_t

===== stdio.h =====
#define  FILE
#define  fpos_t
#define  size_t
#define  _IOFBF
#define  _IOLBF
#define  _IONBF
#define  BUFSIZ
#define  EOF
#define  FOPEN_MAX
#define  L_tmpnam
#define  NULL
#define  SEEK_CUR
#define  SEEK_END
#define  SEEK_SET
#define  stderr   stderr
#define  stdin   stdin
#define  stdout   stdout
#define  TMP_MAX
void  clearerr (FILE *stream)
int  fclose (FILE *stream)
int  feof (FILE *stream)
int  ferror (FILE *stream)
int  fflush (FILE *stream)
int  fgetc (FILE *stream)
int  fgetpos (FILE *stream, fpos_t *pos)
char *  fgets (char *s, int n, FILE *stream)
FILE fopen (const char *filename, const char *mode)
int  fprintf (FILE *stream, const char *format,...)
int  fputc (int c, FILE *stream)
int  fputs (const char *s, FILE *stream)
size_t  fread (void *ptr, size_t size, size_t nelem, FILE *stream)
FILE freopen (const char *filename, const char *mode, FILE *stream)
int  fscanf (FILE *stream, const char *format,...)
int  fseek (FILE *stream, long offset, int mode)
int  fsetpos (FILE *stream, const fpos_t *pos)
long  ftell (FILE *stream)
size_t  fwrite (const void *ptr, size_t size, size_t nelem, FILE *stream)
int  getc (FILE *stream)
int  getchar (void)
char *  gets (char *s)
void  perror (const char *s)
int  printf (const char *format,...)
int  putc (int c, FILE *stream)
int  putchar (int c)
int  puts (const char *s)
int  remove (const char *filename)
int  rename (const char *old, const char *new)
void  rewind (FILE *stream)
int  scanf (const char *format,...)
void  setbuf (FILE *stream, char *buf)
int  setvbuf (FILE *stream, char *buf, int mode, size_t size)
int  sprintf (char *s, const char *format,...)
int  sscanf (const char *s, const char *format,...)
FILE tmpfile (void)
char *  tmpnam (char *s)
int  ungetc (int c, FILE *stream)
int  vfprintf (FILE *stream, const char *format, va_list ap)
int  vprintf (const char *format, va_list ap)
int  vsprintf (char *s, const char *format, va_list ap)
===== stdlib.h =====
Data Structures
struct   div_t
struct   ldiv_t
#define  size_t
#define  wchar_t
#define  MB_CUR_MAX
#define  NULL
#define  RAND_MAX
void  abort (void)
int  abs (int i)
int  atexit (void(*func)(void))
double  atof (const char *s)
int  atoi (const char *s)
long  atol (const char *s)
void *  bsearch (const void *key, const void *base, size_t nelem, size_t size, int *cmp, const void *ck, const void *ce)
void *  calloc (size_t nelem, size_t size)
div_t  div (int numer, int denom)
void  exit (int status)
void  free (void *ptr)
char *  getenv (const char *name)
long  labs (long i)
ldiv_t  ldiv (long numer, long denom)
void *  malloc (size_t size)
int  mblen (const char *s, size_t n)

===== string.h =====
#define  size_t
#define  NULL
void *  memchr (const void *s, int c, size_t n)
int  memcmp (const void *s1, const void *s2, size_t n)
void *  memcpy (void *dst, const void *src, size_t n)
void *  memmove (void *s1, const void *s2, size_t n)
void *  memset (void *s, int c, size_t n)
char *  strcat (char *s1, const char *s2)
char *  strchr (const char *s, int c)
int  strcmp (const char *s1, const char *s2)
int  strcoll (const char *s1, const char *s2)
char *  strcpy (char *s1, const char *s2)
size_t  strcspn (const char *s1, const char *s2)
char *  strerror (int errcode)
size_t  strlen (const char *s)
char *  strncat (char *s1, const char *s2, size_t n)
int  strncmp (const char *s1, const char *s2, size_t n)
char *  strncpy (char *s1, const char *s2, size_t n)
char *  strpbrk (const char *s1, const char *s2)
char *  strrchr (const char *s, int c)
size_t  strspn (const char *s1, const char *s2)
char *  strstr (const char *s1, const char *s2)
char *  strtok (char *s1, const char *s2)
size_t  strxfrm (char *s1, const char *s2, size_t n)

===== time.h =====
Data Structures
struct   tm
#define  size_t
struct tm  asctime (const struct tm *tptr)
clock_t  clock (void)
char *  ctime (const time_t *tod)
double  difftime (time_t t1, time_t t0)
struct tm gmtime (const time_t *tod)
struct tm localtime (const time_t *tod)
time_t  mktime (struct tm *tptr)