2 * Copyright (c) 1997 Adrian Sun (asun@zoology.washington.edu)
3 * All Rights Reserved. See COPYRIGHT.
11 #define MAXMESGSIZE 199
13 /* this is only used by afpd children, so it's okay. */
14 static char servermesg[MAXMESGSIZE] = "";
16 void setmessage(const char *message)
18 strncpy(servermesg, message, MAXMESGSIZE);
21 int afp_getsrvrmesg(obj, ibuf, ibuflen, rbuf, rbuflen)
24 int ibuflen, *rbuflen;
27 u_int16_t type, bitmap;
29 memcpy(&type, ibuf + 2, sizeof(type));
30 memcpy(&bitmap, ibuf + 4, sizeof(bitmap));
32 switch (ntohs(type)) {
33 case AFPMESG_LOGIN: /* login */
34 message = obj->options.loginmesg;
36 case AFPMESG_SERVER: /* server */
45 * message type: 2 bytes
47 * message length: 1 byte
48 * message: up to 199 bytes
50 memcpy(rbuf, &type, sizeof(type));
52 memcpy(rbuf, &bitmap, sizeof(bitmap));
53 rbuf += sizeof(bitmap);
54 *rbuflen = strlen(message);
55 if (*rbuflen > MAXMESGSIZE)
56 *rbuflen = MAXMESGSIZE;
58 memcpy(rbuf, message, *rbuflen);