2 * Copyright (c) 1997 Adrian Sun (asun@zoology.washington.edu)
3 * All rights reserved. See COPYRIGHT.
13 #include <atalk/dsi.h>
14 #include "dsi_private.h"
16 DSI *dsi_init(const dsi_proto protocol, const char *program,
17 const char *hostname, const char *address,
18 const int port, const int proxy, const u_int32_t quantum)
22 if ((dsi = (DSI *) calloc(1, sizeof(DSI))) == NULL) {
25 dsi->attn_quantum = DSI_DEFQUANT; /* default quantum size */
26 dsi->server_quantum = quantum; /* default server quantum */
27 dsi->program = program;
29 /* signals to block. we actually disable timers for "known"
30 * large transfers (i.e., dsi_read/write). */
31 sigemptyset(&dsi->sigblockset);
32 sigaddset(&dsi->sigblockset, SIGTERM);
33 sigaddset(&dsi->sigblockset, SIGHUP);
34 sigaddset(&dsi->sigblockset, SIGALRM);
37 /* currently the only transport protocol that exists for dsi */
39 if (!dsi_tcp_init(dsi, hostname, address, port, proxy)) {
45 default: /* unknown protocol */
54 void dsi_setstatus(DSI *dsi, u_int8_t *status, const int slen)
57 dsi->statuslen = slen;