Graphviz 12.0.1~dev.20240716.0800
Loading...
Searching...
No Matches
sfio.h File Reference
#include "config.h"
#include <limits.h>
#include <stdio.h>
Include dependency graph for sfio.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _sffmt_s
 

Macros

#define SFFMT_SSHORT   00000010 /* 'hh' flag, char */
 
#define SFFMT_TFLAG   00000020 /* 't' flag, ptrdiff_t */
 
#define SFFMT_ZFLAG   00000040 /* 'z' flag, size_t */
 
#define SFFMT_LEFT   00000100 /* left-justification */
 
#define SFFMT_SIGN   00000200 /* must have a sign */
 
#define SFFMT_BLANK   00000400 /* if not signed, prepend a blank */
 
#define SFFMT_ZERO   00001000 /* zero-padding on the left */
 
#define SFFMT_ALTER   00002000 /* alternate formatting */
 
#define SFFMT_THOUSAND   00004000 /* thousand grouping */
 
#define SFFMT_SKIP   00010000 /* skip assignment in scanf() */
 
#define SFFMT_SHORT   00020000 /* 'h' flag */
 
#define SFFMT_LONG   00040000 /* 'l' flag */
 
#define SFFMT_LLONG   00100000 /* 'll' flag */
 
#define SFFMT_LDOUBLE   00200000 /* 'L' flag */
 
#define SFFMT_VALUE   00400000 /* value is returned */
 
#define SFFMT_ARGPOS   01000000 /* getting arg for $ patterns */
 
#define SFFMT_IFLAG   02000000 /* 'I' flag */
 
#define SFFMT_JFLAG   04000000 /* 'j' flag, intmax_t */
 
#define SFFMT_SET   07777770 /* flags settable on calling extf */
 

Typedefs

typedef struct _sffmt_s Sffmt_t
 
typedef int(* Sffmtext_f) (void *, Sffmt_t *)
 

Functions

int sfprint (FILE *, Sffmt_t *format)
 
int sfvscanf (FILE *, Sffmt_t *format)
 
ssize_t sfslen (void)
 

Variables

ssize_t _Sfi
 

Macro Definition Documentation

◆ SFFMT_ALTER

#define SFFMT_ALTER   00002000 /* alternate formatting */

Definition at line 58 of file sfio.h.

◆ SFFMT_ARGPOS

#define SFFMT_ARGPOS   01000000 /* getting arg for $ patterns */

Definition at line 66 of file sfio.h.

◆ SFFMT_BLANK

#define SFFMT_BLANK   00000400 /* if not signed, prepend a blank */

Definition at line 56 of file sfio.h.

◆ SFFMT_IFLAG

#define SFFMT_IFLAG   02000000 /* 'I' flag */

Definition at line 67 of file sfio.h.

◆ SFFMT_JFLAG

#define SFFMT_JFLAG   04000000 /* 'j' flag, intmax_t */

Definition at line 68 of file sfio.h.

◆ SFFMT_LDOUBLE

#define SFFMT_LDOUBLE   00200000 /* 'L' flag */

Definition at line 64 of file sfio.h.

◆ SFFMT_LEFT

#define SFFMT_LEFT   00000100 /* left-justification */

Definition at line 54 of file sfio.h.

◆ SFFMT_LLONG

#define SFFMT_LLONG   00100000 /* 'll' flag */

Definition at line 63 of file sfio.h.

◆ SFFMT_LONG

#define SFFMT_LONG   00040000 /* 'l' flag */

Definition at line 62 of file sfio.h.

◆ SFFMT_SET

#define SFFMT_SET   07777770 /* flags settable on calling extf */

Definition at line 69 of file sfio.h.

◆ SFFMT_SHORT

#define SFFMT_SHORT   00020000 /* 'h' flag */

Definition at line 61 of file sfio.h.

◆ SFFMT_SIGN

#define SFFMT_SIGN   00000200 /* must have a sign */

Definition at line 55 of file sfio.h.

◆ SFFMT_SKIP

#define SFFMT_SKIP   00010000 /* skip assignment in scanf() */

Definition at line 60 of file sfio.h.

◆ SFFMT_SSHORT

#define SFFMT_SSHORT   00000010 /* 'hh' flag, char */

Definition at line 50 of file sfio.h.

◆ SFFMT_TFLAG

#define SFFMT_TFLAG   00000020 /* 't' flag, ptrdiff_t */

Definition at line 51 of file sfio.h.

◆ SFFMT_THOUSAND

#define SFFMT_THOUSAND   00004000 /* thousand grouping */

Definition at line 59 of file sfio.h.

◆ SFFMT_VALUE

#define SFFMT_VALUE   00400000 /* value is returned */

Definition at line 65 of file sfio.h.

◆ SFFMT_ZERO

#define SFFMT_ZERO   00001000 /* zero-padding on the left */

Definition at line 57 of file sfio.h.

◆ SFFMT_ZFLAG

#define SFFMT_ZFLAG   00000040 /* 'z' flag, size_t */

Definition at line 52 of file sfio.h.

Typedef Documentation

◆ Sffmt_t

typedef struct _sffmt_s Sffmt_t

Definition at line 32 of file sfio.h.

◆ Sffmtext_f

typedef int(* Sffmtext_f) (void *, Sffmt_t *)

Definition at line 33 of file sfio.h.

Function Documentation

◆ sfprint()

int sfprint ( FILE *  f,
Sffmt_t format 
)
extern
Parameters
ffile to print to
formatStructure describing how to print

Definition at line 36 of file sfprint.c.

References _sfcvt(), _Sfdec, _Sfdigits, _Sffmtintf, _Sftype, Argv_t::c, Argv_t::d, dot, _sffmt_s::extf, Argv_t::f, flags, _sffmt_s::flags, FMTCMP, FMTGET, FMTSET, _sffmt_s::form, format, FP_SET, FPRECIS, Argv_t::ft, gv_isalnum(), gv_isalpha(), gv_isdigit(), gv_isupper(), Argv_t::h, HIGHBITI, HIGHBITL, Argv_t::i, imin(), Argv_t::l, LEFTP, Argv_t::ll, NULL, QUOTE, RIGHTP, Argv_t::s, SF_FDIGITS, SF_MAXDIGITS, SF_RADIX, SFFMT_ALTER, SFFMT_BLANK, SFFMT_EFORMAT, SFFMT_FLOAT, SFFMT_IFLAG, SFFMT_INT, SFFMT_JFLAG, SFFMT_LDOUBLE, SFFMT_LEFT, SFFMT_LLONG, SFFMT_LONG, SFFMT_MINUS, SFFMT_PREFIX, SFFMT_SHORT, SFFMT_SIGN, SFFMT_SSHORT, SFFMT_TFLAG, SFFMT_THOUSAND, SFFMT_TYPES, SFFMT_UINT, SFFMT_VALUE, SFFMT_ZERO, SFFMT_ZFLAG, SFnputc, SFputc, SFSETLOCALE, sfslen(), sfucvt, SFwrite, sign(), _sffmt_s::size, SLACK, Argv_t::sp, uchar, ulong, ushort, and Argv_t::vp.

Referenced by print().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sfslen()

ssize_t sfslen ( void  )
extern

Definition at line 13 of file _sfslen.c.

References _Sfi.

Referenced by sfprint().

Here is the caller graph for this function:

◆ sfvscanf()

int sfvscanf ( FILE *  f,
Sffmt_t ft 
)
extern
Parameters
ffile to be scanned
ftFormatting instructions

Definition at line 68 of file sfvscanf.c.

References _Sfcv36, _Sfcv64, _Sffmtintf, _Sftype, Argv_t::d, dot, _sffmt_s::extf, flags, _sffmt_s::flags, FMTCMP, FMTGET, FMTSET, _sffmt_s::form, FP_SET, Argv_t::ft, gv_isdigit(), gv_isspace(), Argv_t::i, LEFTP, Argv_t::ll, Argv_t::lu, MAXWIDTH, NULL, RIGHTP, Argv_t::s, setclass(), SF_MAXDIGITS, SF_RADIX, SFFMT_ALTER, SFFMT_FLOAT, SFFMT_IFLAG, SFFMT_INT, SFFMT_JFLAG, SFFMT_LDOUBLE, SFFMT_LLONG, SFFMT_LONG, SFFMT_MINUS, SFFMT_SHORT, SFFMT_SKIP, SFFMT_SSHORT, SFFMT_TFLAG, SFFMT_TYPES, SFFMT_UINT, SFFMT_VALUE, SFFMT_ZFLAG, SFGETC, SFUNGETC, _sffmt_s::size, uchar, ulong, ushort, and Argv_t::vp.

Referenced by scan().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ _Sfi

ssize_t _Sfi
extern

Definition at line 21 of file sfextern.c.

Referenced by _sfcvt(), and sfslen().