#include <sys/uio.h>
#include <sys/param.h>
#include <sys/socket.h>
-#include <netatalk/at.h>
-#include <netatalk/endian.h>
+#include <arpa/inet.h>
+
#include <atalk/dsi.h>
-#include <atalk/atp.h>
-#include <atalk/asp.h>
#include <atalk/afp.h>
#include <atalk/util.h>
#include <atalk/logger.h>
+#include <atalk/globals.h>
#include "volume.h"
#include "directory.h"
#include "fork.h"
-#include "globals.h"
#include "desktop.h"
#include "mangle.h"
int afp_addicon(AFPObj *obj, char *ibuf, size_t ibuflen _U_, char *rbuf, size_t *rbuflen)
{
struct vol *vol;
-#ifndef NO_DDP
- struct iovec iov[ 2 ];
-#endif
u_char fcreator[ 4 ], imh[ 12 ], irh[ 12 ], *p;
int itype, cc = AFP_OK, iovcnt = 0;
size_t buflen;
}
switch (obj->proto) {
-#ifndef NO_DDP
- case AFPPROTO_ASP:
- buflen = bsize;
- if ((asp_wrtcont(obj->handle, rbuf, &buflen) < 0) || buflen != bsize)
- return( AFPERR_PARAM );
-
-#ifdef DEBUG1
- if (obj->options.flags & OPTION_DEBUG) {
- printf("(write) len: %d\n", buflen);
- bprint(rbuf, buflen);
- }
-#endif
-
- /*
- * We're at the end of the file, add the headers, etc. */
- if ( cc == 0 ) {
- iov[ 0 ].iov_base = (caddr_t)imh;
- iov[ 0 ].iov_len = sizeof( imh );
- iov[ 1 ].iov_base = rbuf;
- iov[ 1 ].iov_len = bsize;
- iovcnt = 2;
- }
-
- /*
- * We found an icon to replace.
- */
- if ( cc > 0 ) {
- iov[ 0 ].iov_base = rbuf;
- iov[ 0 ].iov_len = bsize;
- iovcnt = 1;
- }
-
- if ( writev( si.sdt_fd, iov, iovcnt ) < 0 ) {
- LOG(log_error, logtype_afpd, "afp_addicon(%s): writev: %s", icon_dtfile(vol, fcreator), strerror(errno) );
- return( AFPERR_PARAM );
- }
- break;
-#endif /* no afp/asp */
case AFPPROTO_DSI:
{
DSI *dsi = obj->handle;