ast.3 revision 3f54fd611f536639ec30dd53c48e5ec1897cc7d9
7abd0c58a5ce51db13f93de82407b2188d55d298Christian Maeder.fp 5 CW
7abd0c58a5ce51db13f93de82407b2188d55d298Christian Maeder.de Af
14a1af9d9909dc47dc7fee6b0170b7ac0aef85daChristian Maeder.ds ;G \\*(;G\\f\\$1\\$3\\f\\$2
97018cf5fa25b494adffd7e9b4e87320dae6bf47Christian Maeder.if !\\$4 .Af \\$2 \\$1 "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
c00adad2e9459b422dee09e3a2bddba66b433bb7Christian Maeder..
b4fbc96e05117839ca409f5f20f97b3ac872d1edTill Mossakowski.de aF
7abd0c58a5ce51db13f93de82407b2188d55d298Christian Maeder.ie \\$3 .ft \\$1
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.el \{\
7abd0c58a5ce51db13f93de82407b2188d55d298Christian Maeder.ds ;G \&
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maeder.nr ;G \\n(.f
c00adad2e9459b422dee09e3a2bddba66b433bb7Christian Maeder.Af "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
c00adad2e9459b422dee09e3a2bddba66b433bb7Christian Maeder\\*(;G
e8ffec0fa3d3061061bdc16e44247b9cf96b050fChristian Maeder.ft \\n(;G \}
c00adad2e9459b422dee09e3a2bddba66b433bb7Christian Maeder..
e8ffec0fa3d3061061bdc16e44247b9cf96b050fChristian Maeder.de L
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder.aF 5 \\n(.f "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
e8ffec0fa3d3061061bdc16e44247b9cf96b050fChristian Maeder..
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder.de LR
14a1af9d9909dc47dc7fee6b0170b7ac0aef85daChristian Maeder.aF 5 1 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
ad270004874ce1d0697fb30d7309f180553bb315Christian Maeder..
ad270004874ce1d0697fb30d7309f180553bb315Christian Maeder.de RL
4ef2a978e66e2246ff0b7f00c77deb7aabb28b8eChristian Maeder.aF 1 5 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
8197d0be8b81692f311ad5ca34e125e2cf9eecb8Christian Maeder..
e8ffec0fa3d3061061bdc16e44247b9cf96b050fChristian Maeder.de EX \" start example
ccf3de3d66b521a260e5c22d335c64a48e3f0195Christian Maeder.ta 1i 2i 3i 4i 5i 6i
d42a01c4eb6892fe23ca9eff107bb29f4a229480Christian Maeder.PP
b1bd8688a1ce545444792a307412711c2c61df5fChristian Maeder.RS
c18e9c3c6d5039618f1f2c05526ece84c7794ea3Christian Maeder.PD 0
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maeder.ft 5
c18e9c3c6d5039618f1f2c05526ece84c7794ea3Christian Maeder.nf
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder..
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder.de EE \" end example
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder.fi
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maeder.ft
81946e2b3f6dde6167f48769bd02c7a634736856Christian Maeder.PD
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.RE
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder.PP
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder..
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder.TH AST 3
81946e2b3f6dde6167f48769bd02c7a634736856Christian Maeder.SH NAME
b1bd8688a1ce545444792a307412711c2c61df5fChristian Maederast \- miscellaneous libast support
81946e2b3f6dde6167f48769bd02c7a634736856Christian Maeder.SH SYNOPSIS
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder.EX
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maeder#include <ast.h>
14a1af9d9909dc47dc7fee6b0170b7ac0aef85daChristian Maeder
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederchar* astconf(const char* \fIname\fP, const char* \fIpath\fP, const char* \fIvalue\fP);
81946e2b3f6dde6167f48769bd02c7a634736856Christian MaederAst_confdisc_t astconfdisc(Ast_confdisc_t new_notify);
2ac1742771a267119f1d839054b5e45d0a468085Christian Maedervoid astconflist(Sfio_t* stream, const char* path, int flags);
81946e2b3f6dde6167f48769bd02c7a634736856Christian Maederoff_t astcopy(int \fIrfd\fP, int \fIwfd\fP, off_t \fIn\fP);
81946e2b3f6dde6167f48769bd02c7a634736856Christian Maederint astquery(int \fIfd\fP, const char* \fIformat\fP , ...);
81946e2b3f6dde6167f48769bd02c7a634736856Christian Maeder.EE
81946e2b3f6dde6167f48769bd02c7a634736856Christian Maeder.SH DESCRIPTION
81946e2b3f6dde6167f48769bd02c7a634736856Christian Maeder.L astconf
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maederis a string interface to the
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder.IR confstr (2),
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.IR pathconf (2),
ce7653c9c71e23bf04a5ec0ca5cb600c3738a909Christian Maederand
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.IR sysconf (2)
ce7653c9c71e23bf04a5ec0ca5cb600c3738a909Christian Maedercalls.
ce7653c9c71e23bf04a5ec0ca5cb600c3738a909Christian MaederIf
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.I value
ce7653c9c71e23bf04a5ec0ca5cb600c3738a909Christian Maederis
d48085f765fca838c1d972d2123601997174583dChristian Maeder.L 0
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maederthen the configuration parameter value for
b1bd8688a1ce545444792a307412711c2c61df5fChristian Maeder.I name
b1bd8688a1ce545444792a307412711c2c61df5fChristian Maederis returned.
b1bd8688a1ce545444792a307412711c2c61df5fChristian MaederSome
b1bd8688a1ce545444792a307412711c2c61df5fChristian Maeder.I name
b1bd8688a1ce545444792a307412711c2c61df5fChristian Maederconfiguration parameters may consult the
b1bd8688a1ce545444792a307412711c2c61df5fChristian Maeder.I path
b1bd8688a1ce545444792a307412711c2c61df5fChristian Maederargument.
b1bd8688a1ce545444792a307412711c2c61df5fChristian MaederIn this case if
b1bd8688a1ce545444792a307412711c2c61df5fChristian Maeder.I path
b1bd8688a1ce545444792a307412711c2c61df5fChristian Maederis
b1bd8688a1ce545444792a307412711c2c61df5fChristian Maeder.L 0
b1bd8688a1ce545444792a307412711c2c61df5fChristian Maederthen
b1bd8688a1ce545444792a307412711c2c61df5fChristian Maeder\f5"/"\fP
b1bd8688a1ce545444792a307412711c2c61df5fChristian Maederis used.
b1bd8688a1ce545444792a307412711c2c61df5fChristian MaederOtherwise if
b1bd8688a1ce545444792a307412711c2c61df5fChristian Maeder.I path
b1bd8688a1ce545444792a307412711c2c61df5fChristian Maederis not
b1bd8688a1ce545444792a307412711c2c61df5fChristian Maeder.L 0
b1bd8688a1ce545444792a307412711c2c61df5fChristian Maederthen it must exist.
36c6cc568751e4235502cfee00ba7b597dae78dcChristian MaederThe string return value for
14a1af9d9909dc47dc7fee6b0170b7ac0aef85daChristian Maeder.I name
5ba383b1607c20c57e14324e72cee2c789436d5fChristian Maederremains unchanged until the next
ce7653c9c71e23bf04a5ec0ca5cb600c3738a909Christian Maeder.L astconf
2ac1742771a267119f1d839054b5e45d0a468085Christian Maedercall on
14a1af9d9909dc47dc7fee6b0170b7ac0aef85daChristian Maeder.IR name .
2ac1742771a267119f1d839054b5e45d0a468085Christian MaederIf
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.I value
0f0aa53f11a0d1ab08c76428b9de73db5b17c977Christian Maederis
7c35990c03276d1e675ea6f4ba38f47081620d77Christian Maeder.L 0
7c35990c03276d1e675ea6f4ba38f47081620d77Christian Maederthen a valid string is always returned;
0f0aa53f11a0d1ab08c76428b9de73db5b17c977Christian Maeder\f5""\fP
14a1af9d9909dc47dc7fee6b0170b7ac0aef85daChristian Maederis returned if
14a1af9d9909dc47dc7fee6b0170b7ac0aef85daChristian Maeder.I name
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederhas no configuration value.
81946e2b3f6dde6167f48769bd02c7a634736856Christian MaederThis simplifies the programming interface:
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder.EX
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maederif (!strcmp(astconf("PATH_RESOLVE", NiL, NiL), "logical"))
14a1af9d9909dc47dc7fee6b0170b7ac0aef85daChristian Maeder /* the logical way ... */
840b2a6f37ec58f3281da16fafbc4121462c856aChristian Maeder.EE
5ba383b1607c20c57e14324e72cee2c789436d5fChristian MaederIf
5ba383b1607c20c57e14324e72cee2c789436d5fChristian Maeder.I value
0f0aa53f11a0d1ab08c76428b9de73db5b17c977Christian Maederis not
5ba383b1607c20c57e14324e72cee2c789436d5fChristian Maeder.L 0
5ba383b1607c20c57e14324e72cee2c789436d5fChristian Maederthen the configuration parameter value for
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.I name
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maederis set to
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder.IR value .
14a1af9d9909dc47dc7fee6b0170b7ac0aef85daChristian Maeder.L 0
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederis returned if the value cannot be set.
14a1af9d9909dc47dc7fee6b0170b7ac0aef85daChristian MaederThe paradigm is:
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.EX
55ea7f4cb33abac6a8d539741e457cf686d1f26cChristian Maederuniverse = astconf("UNIVERSE", 0, "att");
2118d66b6aa3c90458925019c9b2fb986e2b2aabChristian Maeder\|.\|.\|.
2118d66b6aa3c90458925019c9b2fb986e2b2aabChristian Maederastconf("UNIVERSE", 0, universe);
2118d66b6aa3c90458925019c9b2fb986e2b2aabChristian Maeder.EE
36c6cc568751e4235502cfee00ba7b597dae78dcChristian MaederThe settable configuration names are:
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maeder.TP
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maeder.L FS_3D
d48085f765fca838c1d972d2123601997174583dChristian Maeder.L 1
0f0aa53f11a0d1ab08c76428b9de73db5b17c977Christian Maederif
0f0aa53f11a0d1ab08c76428b9de73db5b17c977Christian Maeder.IR 3d (1)
d48085f765fca838c1d972d2123601997174583dChristian Maederviewpathing is enabled,
d48085f765fca838c1d972d2123601997174583dChristian Maeder.L 0
0f0aa53f11a0d1ab08c76428b9de73db5b17c977Christian Maederotherwise.
35597678f1c9da703de8d0b6b66ea63247ebe884Christian MaederThis is an alternative to the
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maeder.IR fs3d (3)
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maederinterface.
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maeder.TP
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.L PATH_RESOLVE
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maeder.L logical
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maederif symbolic links are followed during file tree traversal,
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.L physical
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederif symbolic links are not followed during file tree traversal,
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maederand
5ba383b1607c20c57e14324e72cee2c789436d5fChristian Maeder.L metaphysical
5ba383b1607c20c57e14324e72cee2c789436d5fChristian Maederif symbolic links are followed at the top level during file tree traversal.
0f0aa53f11a0d1ab08c76428b9de73db5b17c977Christian MaederThese correspond to the generic
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maeder.LR \-L ,
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.LR \-P ,
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederand
793945d4ac7c0f22760589c87af8e71427c76118Christian Maeder.L \-H
2ac1742771a267119f1d839054b5e45d0a468085Christian Maedercommand options.
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.TP
d93bbbec133697cc79d59f9d7cc8e97458976c15Christian Maeder.L UNIVERSE
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maeder.L ucb
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maederfor
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.I Berkeley
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederstyle and
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maeder.L att
81946e2b3f6dde6167f48769bd02c7a634736856Christian Maederotherwise.
81946e2b3f6dde6167f48769bd02c7a634736856Christian MaederThis configuration parameter controls the
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maeder.I universe
d93bbbec133697cc79d59f9d7cc8e97458976c15Christian Maedersetting on machines that support it (e.g., Pyramid).
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maeder.L UNIVERSE
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederalso controls the behavior of some commands like
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maeder.IR cat (1)
8dcc70ff9afdfe4aff258676718677a4d7076fd0Christian Maederand
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.IR echo (1).
975642b989852fc24119c59cf40bc1af653608ffChristian Maeder.PP
2ac1742771a267119f1d839054b5e45d0a468085Christian MaederUser defined
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maeder.I name
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maedervalues may also be set and queried, but these should probably have
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maedersome form of vendor prefix to avoid being stomped by future standards.
0f0aa53f11a0d1ab08c76428b9de73db5b17c977Christian Maeder.PP
0f0aa53f11a0d1ab08c76428b9de73db5b17c977Christian Maeder.L astconfdisc
d48085f765fca838c1d972d2123601997174583dChristian Maederregisters a discipline function
d48085f765fca838c1d972d2123601997174583dChristian Maeder.EX
0f0aa53f11a0d1ab08c76428b9de73db5b17c977Christian Maederint (*notify)(const char* \fIname\fP, const char* \fIpath\fP, const char* \fIvalue\fP);
0f0aa53f11a0d1ab08c76428b9de73db5b17c977Christian Maeder.EE
0f0aa53f11a0d1ab08c76428b9de73db5b17c977Christian Maederthat is called just before the configuration parameter
d93bbbec133697cc79d59f9d7cc8e97458976c15Christian Maeder.I name
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maederis set to
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maeder.I value
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederrelative to
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maeder.IR path .
2ac1742771a267119f1d839054b5e45d0a468085Christian MaederIf
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.I notify
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maederreturns
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maeder.L 0
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maederthen the configuration parameter value is not changed.
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maeder.PP
793945d4ac7c0f22760589c87af8e71427c76118Christian Maeder.L astconflist
0f0aa53f11a0d1ab08c76428b9de73db5b17c977Christian Maederlists the current configuration names and values of
0f0aa53f11a0d1ab08c76428b9de73db5b17c977Christian Maeder.IR stream .
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian MaederIf
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maeder.I path
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maederis
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maeder.L 0
10397bcc134edbcfbe3ae2c7ea4c6080036aae22Christian Maederthen \f5"/"\fP is used where appropriate.
10397bcc134edbcfbe3ae2c7ea4c6080036aae22Christian MaederIf
10397bcc134edbcfbe3ae2c7ea4c6080036aae22Christian Maeder.I flags
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederis
10397bcc134edbcfbe3ae2c7ea4c6080036aae22Christian Maeder.L 0
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederor
10397bcc134edbcfbe3ae2c7ea4c6080036aae22Christian Maeder.L R_OK|W_OK
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maederthen all configuration parameters are listed.
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maeder.L R_OK
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maederlists the readonly configuration parameters and
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maeder.L W_OK
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maederlists the settable configuration parameters.
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maeder.L X_OK
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederlists the settable configuration parameters in a form that can be
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maedersnarfed for input to the
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.IR getconf (1)
2ac1742771a267119f1d839054b5e45d0a468085Christian Maedercommand.
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.PP
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maeder.L astcopy
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederefficiently copies up to
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maeder.I n
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maederbytes from the file descriptor
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maeder.I rfd
c2dead95fafd7ca36d06ddf07606a1292ead6d8aChristian Maederto the file descriptor
10397bcc134edbcfbe3ae2c7ea4c6080036aae22Christian Maeder.IR wfd .
d9953bc9d3d8aa7290bf6d3c2c86b84c984a0f09Christian MaederThe actual number of bytes copied is returned; \-1 is returned on error.
10397bcc134edbcfbe3ae2c7ea4c6080036aae22Christian MaederIf
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.I n
10397bcc134edbcfbe3ae2c7ea4c6080036aae22Christian Maederis 0 then an optimal number of bytes (with respect to both
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.I rfd
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederand
5ba383b1607c20c57e14324e72cee2c789436d5fChristian Maeder.IR wfd )
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederis copied.
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.PP
2ac1742771a267119f1d839054b5e45d0a468085Christian MaederIf possible
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.IR mmap (2)
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederis used to do the transfer.
2ac1742771a267119f1d839054b5e45d0a468085Christian MaederSome implementations may bypass user buffer copies usually required by the
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.IR read (2)- write (2)
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederparadigm.
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.PP
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.L astquery
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederoutputs an
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.IR sfprintf (3)
0f0aa53f11a0d1ab08c76428b9de73db5b17c977Christian Maederprompt specified by
0f0aa53f11a0d1ab08c76428b9de73db5b17c977Christian Maeder.I "format, .\|.\|."
27912d626bf179b82fcb337077e5cd9653bb71cfChristian Maederto the controlling terminal and reads a response from the controlling terminal.
27912d626bf179b82fcb337077e5cd9653bb71cfChristian MaederOffirmative response returns
0f0aa53f11a0d1ab08c76428b9de73db5b17c977Christian Maeder.LR 0 ,
0f0aa53f11a0d1ab08c76428b9de73db5b17c977Christian Maeder.L EOF
d9953bc9d3d8aa7290bf6d3c2c86b84c984a0f09Christian Maederor quit response returns
d9953bc9d3d8aa7290bf6d3c2c86b84c984a0f09Christian Maeder.LR \-1 ,
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederotherwise
d9953bc9d3d8aa7290bf6d3c2c86b84c984a0f09Christian Maeder.L 1
5ba383b1607c20c57e14324e72cee2c789436d5fChristian Maederis returned.
5ba383b1607c20c57e14324e72cee2c789436d5fChristian MaederIf
d9953bc9d3d8aa7290bf6d3c2c86b84c984a0f09Christian Maeder.I quit
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maederis greater than
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maeder.L 0
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maederthen
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder.I exit(quit)
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederis called on a quit response.
14a1af9d9909dc47dc7fee6b0170b7ac0aef85daChristian MaederThe responses will eventually be locale specific.
d9953bc9d3d8aa7290bf6d3c2c86b84c984a0f09Christian Maeder.PP
d48085f765fca838c1d972d2123601997174583dChristian Maeder.L astwinsize
d9953bc9d3d8aa7290bf6d3c2c86b84c984a0f09Christian Maederreturns the number of rows in
ce7653c9c71e23bf04a5ec0ca5cb600c3738a909Christian Maeder.I *rows
7c35990c03276d1e675ea6f4ba38f47081620d77Christian Maederand the number of columns
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.I *col
2ac1742771a267119f1d839054b5e45d0a468085Christian Maederfor the terminal file descriptor
81946e2b3f6dde6167f48769bd02c7a634736856Christian Maeder.IR fd .
2ac1742771a267119f1d839054b5e45d0a468085Christian MaederIf the number of rows or columns cannot be determined or if
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.I fd
d9953bc9d3d8aa7290bf6d3c2c86b84c984a0f09Christian Maederis not a terminal then
d9953bc9d3d8aa7290bf6d3c2c86b84c984a0f09Christian Maeder.I *rows
14a1af9d9909dc47dc7fee6b0170b7ac0aef85daChristian Maederand
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder.I *cols
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maederare set to
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder.LR 0 .
81946e2b3f6dde6167f48769bd02c7a634736856Christian MaederIf
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder.I ioctl (2)
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maedermethods fail then the environment variable
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maeder.L LINES
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maederis used to set
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder.I *rows
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maederand the environment variable
aff01ee50b66032469c232e00c945d1fd4f57d1bChristian Maeder.L COLUMNS
9fb0db7f56cbb44c3df49552c04afc881267b84eChristian Maederis used to set
840b2a6f37ec58f3281da16fafbc4121462c856aChristian Maeder.IR *cols .
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder.SH "SEE ALSO"
bb13d067514a3f474166f345e098b81f3de11dbeChristian Maedergetconf(1), confstr(2), mmap(2), pathconf(2), read(2), sysconf(2), write(2)
2ac1742771a267119f1d839054b5e45d0a468085Christian Maeder