• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/netatalk-3.0.5/libatalk/dsi/
1/*
2 * Copyright (c) 1997 Adrian Sun (asun@zoology.washington.edu)
3 * All rights reserved. See COPYRIGHT.
4 */
5
6#ifdef HAVE_CONFIG_H
7#include "config.h"
8#endif /* HAVE_CONFIG_H */
9
10#include <stdio.h>
11#include <arpa/inet.h>
12
13#include <atalk/dsi.h>
14#include <atalk/logger.h>
15
16/* this assumes that the reply follows right after the command, saving
17 * on a couple assignments. specifically, command, requestID, and
18 * reserved field are assumed to already be set. */
19int dsi_cmdreply(DSI *dsi, const int err)
20{
21    int ret;
22
23    LOG(log_debug, logtype_dsi, "dsi_cmdreply(DSI ID: %u, len: %zd): START",
24        dsi->clientID, dsi->datalen);
25
26    dsi->header.dsi_flags = DSIFL_REPLY;
27    dsi->header.dsi_len = htonl(dsi->datalen);
28    dsi->header.dsi_data.dsi_code = htonl(err);
29
30    ret = dsi_stream_send(dsi, dsi->data, dsi->datalen);
31
32    LOG(log_debug, logtype_dsi, "dsi_cmdreply(DSI ID: %u, len: %zd): END",
33        dsi->clientID, dsi->datalen);
34
35    return ret;
36}
37