stdio.h(3avr)

πŸ’… stdio.h πŸ’…

okay bestie, gather round, because this is the stdio.h page from the 3avr manual set and it is genuinely a whole mood. no description block, no long paragraphs, just straight-up the receipts: every macro, the one typedef, and all forty functions, served raw. it's giving "the header file walked in and just handed you the list." iconic behavior, honestly. πŸŽ€


✨ NAME ✨

stdio.h β€” that's it, that's the whole name, she's lowkey mysterious like that.


🌈 SYNOPSIS 🌈

πŸ“ Macros

every one of these, exactly as written, no edits no cap:

  • #define stdin (__iob[0])
  • #define stdout (__iob[1])
  • #define stderr (__iob[2])
  • #define EOF (-1)
  • #define fdev_set_udata(stream, u)
  • #define fdev_get_udata(stream)
  • #define fdev_setup_stream(stream, put, get, rwflag)
  • #define _FDEV_SETUP_READ __SRD
  • #define _FDEV_SETUP_WRITE __SWR
  • #define _FDEV_SETUP_RW (__SRD|__SWR)
  • #define _FDEV_ERR (-1)
  • #define _FDEV_EOF (-2)
  • #define FDEV_SETUP_STREAM(put, get, rwflag)
  • #define fdev_close()
  • #define putc(__c, __stream)
  • #define putchar(__c)
  • #define getc(__stream)
  • #define getchar()
heads up babe: _FDEV_ERR is (-1) and _FDEV_EOF is (-2), and those two are different numbers, so don't go mixing them up, ok?? they're on the list exactly like that and we respect it. πŸ’€

πŸ¦‹ Typedefs

one (1) singular typedef, and she's doing the absolute most with minimal effort:

  • typedef struct __file FILE

FILE is literally the main character of this entire header. everyone else is just orbiting her. πŸ‘‘

🧚 Functions

forty functions. FORTY. not a typo, bestie, I counted. here's the full roster, signatures verbatim, nobody left behind:

  • int fclose (FILE *__stream)
  • int vfprintf (FILE *__stream, const char *__fmt, va_list __ap)
  • int vfprintf_P (FILE *__stream, const char *__fmt, va_list __ap)
  • int fputc (int __c, FILE *__stream)
  • int printf (const char *__fmt,...)
  • int printf_P (const char *__fmt,...)
  • int vprintf (const char *__fmt, va_list __ap)
  • int sprintf (char *__s, const char *__fmt,...)
  • int sprintf_P (char *__s, const char *__fmt,...)
  • int snprintf (char *__s, size_t __n, const char *__fmt,...)
  • int snprintf_P (char *__s, size_t __n, const char *__fmt,...)
  • int vsprintf (char *__s, const char *__fmt, va_list ap)
  • int vsprintf_P (char *__s, const char *__fmt, va_list ap)
  • int vsnprintf (char *__s, size_t __n, const char *__fmt, va_list ap)
  • int vsnprintf_P (char *__s, size_t __n, const char *__fmt, va_list ap)
  • int fprintf (FILE *__stream, const char *__fmt,...)
  • int fprintf_P (FILE *__stream, const char *__fmt,...)
  • int fputs (const char *__str, FILE *__stream)
  • int fputs_P (const char *__str, FILE *__stream)
  • int puts (const char *__str)
  • int puts_P (const char *__str)
  • size_t fwrite (const void *__ptr, size_t __size, size_t __nmemb, FILE *__stream)
  • int fgetc (FILE *__stream)
  • int ungetc (int __c, FILE *__stream)
  • char * fgets (char *__str, int __size, FILE *__stream)
  • char * gets (char *__str)
  • size_t fread (void *__ptr, size_t __size, size_t __nmemb, FILE *__stream)
  • void clearerr (FILE *__stream)
  • int feof (FILE *__stream)
  • int ferror (FILE *__stream)
  • int vfscanf (FILE *__stream, const char *__fmt, va_list __ap)
  • int vfscanf_P (FILE *__stream, const char *__fmt, va_list __ap)
  • int fscanf (FILE *__stream, const char *__fmt,...)
  • int fscanf_P (FILE *__stream, const char *__fmt,...)
  • int scanf (const char *__fmt,...)
  • int scanf_P (const char *__fmt,...)
  • int vscanf (const char *__fmt, va_list __ap)
  • int sscanf (const char *__buf, const char *__fmt,...)
  • int sscanf_P (const char *__buf, const char *__fmt,...)
  • int fflush (FILE *stream)
ngl the _P ones are all hanging out right next to their non-_P siblings up in here, and I am not gonna be the girl who skips one. if it's on the list, it's on the list, periodt. πŸ’–

🌸 Author 🌸

Generated automatically by Doxygen for AVR-LibC from the source code.

yes bestie, a robot wrote this one, and honestly? she ate. no notes. πŸ€–βœ¨


okay that's the whole page!! go forth and be the most stdio.h-literate baddie in the group chat, you've got this 🫢

AVR-LibC, Version 2.2.1 β€” mwah, sending you off with the version number and a forehead kiss, that's the sign-off, bye bestie!! πŸ’œπŸŽ€

πŸ“¦ where this page comes from