glenda.party
term% ls -F
term% cat index.txt
DKMGR(3X)                                                            DKMGR(3X)



NAME
       dkmgr, dkmgrack, dkmgrnak, dkfilename - establish datakit server

SYNOPSIS
       #include <dkmgr.h>

       struct mgrmsg *
       dkmgr(srvname, traffic)
       char *srvname;

       char *
       dkfilename(chan)

       dkmgrack(chan)

       dkmgrnak(chan, error)

DESCRIPTION
       These routines are loaded by option -ldk of ld(1).

       Dkmgr  sets  up  the calling process as a datakit server, and waits for
       service requests.  It returns a pointer to an incoming service  request
       in the form:

              struct mgrmsg {
                        short m_chan;
                        short m_tstamp;
                        short m_traffic;
                        char *m_dial;
                        char *m_service;
                        char *m_source;
                        char *m_uid;
                        char *m_param1;
                        char *m_param2;
              };

       Field  m_chan  gives  the  channel number of the incoming request.  The
       circuit is already established, and this channel need only  be  opened.
       The appropriate special file name is returned as a static string by dk‐
       filename.  Field m_uid is generated by the caller (see tdkdial(3)),  if
       the  request originated in a standard UNIX system, and is the userid of
       the requester.  It can be trusted if, and only if, you trust the admin‐
       istrators  and  super-users  on the calling system.  Field m_param1 and
       m_param2 are the first and subsequent  strings  after  the  destination
       name  in  the dialstring.  They can be used to pass short pieces of in‐
       formation from the requester to the server  about  how  to  handle  the
       call.

       Traffic tells the network what types of requests this server is capable
       of handling.  Value 0 indicates terminal-like traffic only, value 2 al‐
       lows  either  terminal  or  high-speed  host-host  traffic.   The field
       m_traffic of the incoming call message tells the traffic  requested  by
       the caller.

       The string m_dial gives the dialing string used by the calling process,
       and m_source is the name of the port in  the  network  where  the  call
       originated.

       The  server  program is expected to call either dkmgrack or dkmgrnak to
       complete the call setup.  The first acknowledges and accepts the  call,
       the  second rejects the call with a specific error code giving the rea‐
       son.

FILES
       /dev/dk   directory containing files naming each channel.

SEE ALSO
       tdkdial(3)

DIAGNOSTICS
       In case of a major setup error, a message is printed  on  the  standard
       error  file  and  the  process  exits.   For minor errors, a message is
       printed and the process tries again after a wait interval.

BUGS
       It always waits for connection requests; there should be a version that
       accepts them asynchronously.



                                                                     DKMGR(3X)