da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.fp 5 CW
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.de Af
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.ds ;G \\*(;G\\f\\$1\\$3\\f\\$2
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.if !\\$4 .Af \\$2 \\$1 "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin..
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.de aF
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.ie \\$3 .ft \\$1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.el \{\
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.ds ;G \&
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.nr ;G \\n(.f
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.Af "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin\\*(;G
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.ft \\n(;G \}
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin..
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.de L
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.aF 5 \\n(.f "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin..
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.de LR
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.aF 5 1 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin..
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.de RL
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.aF 1 5 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin..
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.de EX \" start example
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.ta 1i 2i 3i 4i 5i 6i
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.PP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.RS
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.PD 0
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.ft 5
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.nf
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin..
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.de EE \" end example
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.fi
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.ft
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.PD
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.RE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.PP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin..
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.TH FMT 3
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.SH NAME
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinfmt \- string formatting routines
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.SH SYNOPSIS
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner.EX
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#include <ast.h>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#include <ls.h>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinchar* fmtbase(long \fInumber\fP, int \fIbase\fP, int \fIprefix\fP);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinchar* fmtdev(struct stat* \fIst\fP);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinchar* fmtelapsed(unsigned long \fIcount\fP, int \fIpersec\fP)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinchar* fmterror(int \fIerrno\fP);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinchar* fmtesc(const char* \fIstring\fP);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinchar* fmtfs(struct stat* \fIst\fP);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinchar* fmtgid(int \fIgid\fP);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinchar* fmtmatch(const char* \fIre\fP);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinchar* fmtmode(int \fImode\fP, int \fIexternal\fP);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinchar* fmtperm(int \fIperm\fP);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinchar* fmtre(const char* \fIpattern\fP);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinchar* fmtsignal(int \fIsig\fP);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinchar* fmttime(const char* \fIformat\fP, time_t \fItm\fP);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinchar* fmtuid(int \fIuid\fP);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.EE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.SH DESCRIPTION
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinThese routines return a pointer to a formatted string for various numeric
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinand string entities.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinSome routines may cache information to speed up the next call.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinMost of the routines return a pointer to a private buffer, the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chincontents of which are overwritten on the next call to that routine.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinMost
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L fmt
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinroutines have a corresponding
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L str
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinroutine that converts in the other direction.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinThere is nothing spectacular about this collection other than that
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinit provides a single place where the exact format is spelled out.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.PP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L fmtbase
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinformats a base
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.I base
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinrepresentation for
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.IR number .
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinIf
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.I "prefix != 0"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinthen the base prefix is included in the formatted string.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinIf
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.I "number == 0"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinor
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.I "base == 0"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinthen the output is signed base 10.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.PP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L fmtdev
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinreturns the device handle name specified by the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L stat
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinstructure
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.IR st .
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinThis is the device information displayed by
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.IR "ls \-l" .
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.PP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L fmtelapsed
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinformats the elapsed time for
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.I (count/persec)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinseconds.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinThe two largest time units are used, limiting the return value length
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinto at most 6 characters.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinThe units are:
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner.RS
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.TP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.B s
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinseconds
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.TP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.B m
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinminutes
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.TP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.B h
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinhours
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.TP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.B days
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.TP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.B weeks
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.TP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.B M
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinmonths
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.TP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.B Y
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinyears
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.TP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.B S
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinscores
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner.RE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.PP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L fmterror
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinreturns the system error message text for the error number
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.IR errno .
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.PP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L fmtesc
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinformats non-ASCII characters in
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.I string
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chininto C-style
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.B \e
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinsequences.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinThese sequences are understood by
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L chresc
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinand
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.LR chrtoi .
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.PP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L fmtfs
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinreturns the file system type name corresponding to the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L stat
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinstructure
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.IR st .
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.PP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L fmtgid
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinreturns the group name for
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.IR gid .
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.PP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L fmtmatch
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinreturns the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L strmatch
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinequivalent pattern for the regular expression pattern
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.IR re .
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin0 is returned for invalid
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.IR re .
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.PP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L fmtmode
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinreturns the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.I "ls \-l"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinmode string for the file mode bits in
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.IR mode .
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinIf
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.I "external != 0"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinthen
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.I mode
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinis
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.IR modecanon (3)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chincanonical.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.PP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L fmtperm
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinreturns the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.I chmod
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinpermission string for the permission bits in
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.IR perm .
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.PP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L fmtre
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinreturns the regular expression
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinequivalent pattern for the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L strmatch
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinpattern
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.IR pattern .
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin0 is returned for invalid
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.IR pattern .
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.PP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L fmtsignal
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinreturns the signal name, sans
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.LR SIG ,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinfor the signal number
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.IR sig .
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinIf
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.I "sig < 0"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinthen the description text for
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.I \-sig
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinis returned.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.PP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L fmttime
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinreturns the results of
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.I "tmfmt(buf,sizeof(buf),format,tm)"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinin the private buffer
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.IR buf .
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.PP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.L fmtuid
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinreturns the user name for
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.IR uid .
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.SH "SEE ALSO"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinmodecanon(3),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinstr(3)