From c96d948a4b76875c91848518aa2f55f2774a4118 Mon Sep 17 00:00:00 2001 From: Robin Krahl Date: Mon, 6 Jun 2016 18:20:10 +0200 Subject: dbfp: add man pages for dbfp_init, dbfp_close --- man/dbfp.3 | 83 --------------------- man/dbfp_close.3 | 167 ++++++++++++++++++++++++++++++++++++++++++ man/dbfp_close.pod | 27 +++++++ man/dbfp_init.3 | 211 +++++++++++++++++++++++++++++++++++++++++++++++++++++ man/dbfp_init.pod | 78 ++++++++++++++++++++ 5 files changed, 483 insertions(+), 83 deletions(-) delete mode 100644 man/dbfp.3 create mode 100644 man/dbfp_close.3 create mode 100644 man/dbfp_close.pod create mode 100644 man/dbfp_init.3 create mode 100644 man/dbfp_init.pod (limited to 'man') diff --git a/man/dbfp.3 b/man/dbfp.3 deleted file mode 100644 index 6e9cc2a..0000000 --- a/man/dbfp.3 +++ /dev/null @@ -1,83 +0,0 @@ -.TH DBFP 3 2016-03-08 dbfp "DB timetable API" -.SH NAME -dbfp, dbfp_init, dbfp_close \- handle metadata for connections to the DB timetable API -.SH SYNOPSIS -.HP -.B #include -.HP -.B struct dbfp { -.RS -.B char *key; -.br -.B CURL *curl; -.RE -.B }; -.HP -.B int dbfp_init(struct dbfp *dbfp, char *key); -.HP -.B void dbfp_close(struct dbfp *dbfp); -.SH DESCRIPTION -.B dbfp -stores the metadata for connections to the DB timetable API. -.B key -is the API key used for API queries. -.B curl -is the curl handle used for the API requests. -.PP -.B dbfp_init -initializes a dbfp structure with the given API key. dbfp and key may not be -NULL. dbfp must already be allocated. The key is copied to the dbfp structure. -Every structure that was initialized with this function must be closed with -dbfp_close. -.PP -.B dbfp_close -closes a dbfp structure and releases its allocated resources. dbfp itself is -not freed. If dbfp is NULL, the function returns. You should call dbfp_close -for all dbfp structures. You have to call it for all dbfp structures -initialized with dbfp_init. -.SH RETURN VALUE -.B dbfp_init -returns zero if successful, or an error code if an error occured. -.SH ERRORS -EINVAL -.RS -if one of the arguments of dbfp_init is NULL -.RE -ENOMEM -.RS -if there is not enough memory to copy the key in dbfp_init -.RE -DBFP_ERROR_CURL -.RS -if the curl handle could not be created -.RE -.SH EXAMPLE -#include -.br -#include -.br -#include -.PP -int main(int argc, char **argv) -.br -{ -.RS -struct dbfp dbfp; -.br -int err; -.PP -err = dbfp_init(&dbfp, "API key"); -.br -if (!err) -.RS -printf("DBFP structure created.\\n"); -.RE -else -.RS -printf("Could not create DBFP: %s\\n", strerror(err)); -.RE -dbfp_close(&dbfp); -.PP -return 0; -.RE -} diff --git a/man/dbfp_close.3 b/man/dbfp_close.3 new file mode 100644 index 0000000..97e7d04 --- /dev/null +++ b/man/dbfp_close.3 @@ -0,0 +1,167 @@ +.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{ +. if \nF \{ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "DBFP_CLOSE 3" +.TH DBFP_CLOSE 3 "2016-06-06" "0.1.0" "DB timetable API" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +dbfp_close \- cleans up the metadata for queries to the DB timetable API +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.Vb 1 +\& #include +\& +\& void dbfp_close(struct dbfp *dbfp); +.Ve +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBdbfp_close\fR cleans up a \fIdbfp\fR structure and releases its allocated +resources. The structure itself is not freed. \fIdbfp\fR may be \s-1NULL.\s0 +.PP +\&\fBdbfp\fR is a structure defined as: +.PP +.Vb 4 +\& struct dbfp { +\& char *key; +\& CURL *curl; +\& }; +.Ve +.PP +The user does not have to deal with the fields of this structure. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIdbfp_init\fR\|(3) diff --git a/man/dbfp_close.pod b/man/dbfp_close.pod new file mode 100644 index 0000000..6d63bb0 --- /dev/null +++ b/man/dbfp_close.pod @@ -0,0 +1,27 @@ +=head1 NAME + +dbfp_close - cleans up the metadata for queries to the DB timetable API + +=head1 SYNOPSIS + + #include + + void dbfp_close(struct dbfp *dbfp); + +=head1 DESCRIPTION + +B cleans up a I structure and releases its allocated +resources. The structure itself is not freed. I may be NULL. + +B is a structure defined as: + + struct dbfp { + char *key; + CURL *curl; + }; + +The user does not have to deal with the fields of this structure. + +=head1 SEE ALSO + +L diff --git a/man/dbfp_init.3 b/man/dbfp_init.3 new file mode 100644 index 0000000..c1544c0 --- /dev/null +++ b/man/dbfp_init.3 @@ -0,0 +1,211 @@ +.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{ +. if \nF \{ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "DBFP_INIT 3" +.TH DBFP_INIT 3 "2016-06-06" "0.1.0" "DB timetable API" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +dbfp_init \- initialize the metadata for queries to the DB timetable API +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.Vb 1 +\& #include +\& +\& int dbfp_init(struct dbfp *dbfp, char *key); +.Ve +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBdbfp_init\fR initializes a \fIdbfp\fR structure that stores the metadata for +queries to the \s-1DB\s0 timetable \s-1API. \s0\fIkey\fR is the \s-1API\s0 key to use for the +connections. \fIdbfp\fR must already be allocated. \fIdbfp\fR and \fIkey\fR must not +be \s-1NULL. \s0\fIkey\fR is copied to the structure, so it can be changed or freed +after calling this function. +.PP +\&\fBdbfp\fR is a structure defined as: +.PP +.Vb 4 +\& struct dbfp { +\& char *key; +\& CURL *curl; +\& }; +.Ve +.PP +The user does not have to deal with the fields of this structure. +.PP +\&\fIdbfp\fR structures initialized with this method should be closed by calling +\&\fBdbfp_close\fR. +.SH "RETURN VALUE" +.IX Header "RETURN VALUE" +\&\fBdbfp_init\fR returns zero if successful, or a non-zero error code. Positive +error codes are from \fIerrno.h\fR, negative error codes are specific to dbfp. +.SH "ERRORS" +.IX Header "ERRORS" +.IP "\s-1EINVAL\s0" 4 +.IX Item "EINVAL" +if \fIdbfp\fR or \fIkey\fR is \s-1NULL\s0 +.IP "\s-1ENOMEM\s0" 4 +.IX Item "ENOMEM" +if there is not enoguh memory to copy \fIkey\fR to \fIdbfp\fR +.IP "\s-1DBFP_ERROR_CURL\s0" 4 +.IX Item "DBFP_ERROR_CURL" +if curl could not be initialized +.SH "EXAMPLE" +.IX Header "EXAMPLE" +.Vb 4 +\& #include +\& #include +\& #include +\& #include +\& +\& int main(int argc, char **argv) +\& { +\& struct dbfp dbfp; +\& int err; +\& +\& err = dbfp_init(&dbfp, "API key"); +\& if (!err) +\& printf("DBFP structure created.\en"); +\& else +\& printf("Could not create DBFP: %s\en", strerror(err)); +\& dbfp_close(&dbfp); +\& +\& return err ? EXIT_FAILURE : EXIT_SUCCESS; +\& } +.Ve +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIdbfp_close\fR\|(3), \fIdbfp_query_location\fR\|(3), \fIdbfp_query_departure\fR\|(3) diff --git a/man/dbfp_init.pod b/man/dbfp_init.pod new file mode 100644 index 0000000..8749a2f --- /dev/null +++ b/man/dbfp_init.pod @@ -0,0 +1,78 @@ +=head1 NAME + +dbfp_init - initialize the metadata for queries to the DB timetable API + +=head1 SYNOPSIS + + #include + + int dbfp_init(struct dbfp *dbfp, char *key); + +=head1 DESCRIPTION + +B initializes a I structure that stores the metadata for +queries to the DB timetable API. I is the API key to use for the +connections. I must already be allocated. I and I must not +be NULL. I is copied to the structure, so it can be changed or freed +after calling this function. + +B is a structure defined as: + + struct dbfp { + char *key; + CURL *curl; + }; + +The user does not have to deal with the fields of this structure. + +I structures initialized with this method should be closed by calling +B. + +=head1 RETURN VALUE + +B returns zero if successful, or a non-zero error code. Positive +error codes are from I, negative error codes are specific to dbfp. + +=head1 ERRORS + +=over + +=item EINVAL + +if I or I is NULL + +=item ENOMEM + +if there is not enoguh memory to copy I to I + +=item DBFP_ERROR_CURL + +if curl could not be initialized + +=back + +=head1 EXAMPLE + + #include + #include + #include + #include + + int main(int argc, char **argv) + { + struct dbfp dbfp; + int err; + + err = dbfp_init(&dbfp, "API key"); + if (!err) + printf("DBFP structure created.\n"); + else + printf("Could not create DBFP: %s\n", strerror(err)); + dbfp_close(&dbfp); + + return err ? EXIT_FAILURE : EXIT_SUCCESS; + } + +=head1 SEE ALSO + +L -- cgit v1.2.1