]> arthur.barton.de Git - netatalk.git/blob - etc/atalkd/aep.c
Initial revision
[netatalk.git] / etc / atalkd / aep.c
1 /*
2  * Copyright (c) 1990,1993 Regents of The University of Michigan.
3  * All Rights Reserved. See COPYRIGHT.
4  */
5
6 #include <sys/syslog.h>
7 #include <sys/types.h>
8 #include <sys/socket.h>
9 #include <netatalk/at.h>
10 #include <atalk/aep.h>
11 #include <atalk/ddp.h>
12
13 #include "atserv.h"
14
15 aep_packet( ap, from, data, len )
16     struct atport       *ap;
17     struct sockaddr_at  *from;
18     char                *data;
19     int                 len;
20 {
21     char                *end;
22
23     end = data + len;
24     if ( data + 2 > end || *data != DDPTYPE_AEP ||
25             *( data + 1 ) != AEPOP_REQUEST ) {
26         syslog( LOG_INFO, "aep_packet malformed packet" );
27         return 1;
28     }
29
30     *( data + 1 ) = AEPOP_REPLY;
31     if ( sendto( ap->ap_fd, data, len, 0, (struct sockaddr *)from,
32             sizeof( struct sockaddr_at )) < 0 ) {
33         syslog( LOG_ERR, "aep sendto: %m" );
34         return 1;
35     }
36
37     return 0;
38 }