@@@ tvec setvar
[mLib] / sel / ident.3
index 5247bd4..326d508 100644 (file)
@@ -9,15 +9,34 @@ ident \- identd (RFC931) client
 .nf
 .B "#include <mLib/ident>"
 
+.B "typedef struct { ...\& } ident_request;"
+
+.B "enum ["
+.B "\h'4n'IDENT_USERID = ...,"
+.B "\h'4n'IDENT_ERROR = ...,"
+.B "\h'4n'IDENT_BAD = ..."
+.B "};"
+
+.B "typedef struct {"
+.B "\h'4n'unsigned short sport, dport;"
+.B "\h'4n'unsigned type;"
+.B "\h'4n'union {"
+.B "\h'8n'struct { char *os, *user; } userid;"
+.B "\h'8n'char *error;"
+.B "\h'4n'} u;"
+.B "} ident_reply;"
+
 .BI "void ident_abort(ident_request *" rq );
-.BI "void ident(ident_request *" rq ", sel_state *" s ,
-.BI "           const struct sockaddr_in *" local ,
-.BI "           const struct sockaddr_in *" remote ,
-.BI "           void (*" func ")(ident_reply *" i ", void *" p ),
-.BI "           void *" p );
-.BI "void ident_socket(ident_request *" rq ", sel_state *" s ", int " sk ,
-.BI "                  void (*" func ")(ident_reply *" i ", void *" p ),
-.BI "                  void *" p );
+.ds mT \fBvoid ident(
+.BI "\*(mTident_request *" rq ", sel_state *" s ,
+.BI "\h'\w'\*(mT'u'const struct sockaddr_in *" local ,
+.BI "\h'\w'\*(mT'u'const struct sockaddr_in *" remote ,
+.BI "\h'\w'\*(mT'u'void (*" func ")(ident_reply *" i ", void *" p ),
+.BI "\h'\w'\*(mT'u'void *" p );
+.ds mT \fBvoid ident_socket(
+.BI "\*(mTident_request *" rq ", sel_state *" s ", int " sk ,
+.BI "\h'\w'\*(mT'u'void (*" func ")(ident_reply *" i ", void *" p ),
+.BI "\h'\w'\*(mT'u'void *" p );
 .fi
 .SH "DESCRIPTION"
 The