• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/timemachine/netatalk-2.2.0/include/atalk/
1/*
2 * Copyright (c) 1990,1991 Regents of The University of Michigan.
3 * All Rights Reserved.
4 *
5 * Permission to use, copy, modify, and distribute this software and
6 * its documentation for any purpose and without fee is hereby granted,
7 * provided that the above copyright notice appears in all copies and
8 * that both that copyright notice and this permission notice appear
9 * in supporting documentation, and that the name of The University
10 * of Michigan not be used in advertising or publicity pertaining to
11 * distribution of the software without specific, written prior
12 * permission. This software is supplied as is without expressed or
13 * implied warranties of any kind.
14 *
15 *	Research Systems Unix Group
16 *	The University of Michigan
17 *	c/o Mike Clark
18 *	535 W. William Street
19 *	Ann Arbor, Michigan
20 *	+1-313-763-0525
21 *	netatalk@itd.umich.edu
22 */
23
24#ifndef _ATALK_ASP_H
25#define _ATALK_ASP_H 1
26
27#include <sys/types.h>
28#include <sys/cdefs.h>
29#include <netatalk/endian.h>
30#include <netatalk/at.h>
31#include <atalk/atp.h>
32#include <atalk/afp.h>
33#include <atalk/server_child.h>
34
35#define ASP_HDRSIZ        4
36#define ASP_CMDSIZ        578
37
38#define ASP_MAXPACKETS    8
39#define ASP_CMDMAXSIZ     (ASP_CMDSIZ + ASP_HDRSIZ)
40#define ASP_DATASIZ       (ASP_CMDSIZ*ASP_MAXPACKETS)
41#define ASP_DATAMAXSIZ    ((ASP_CMDSIZ + ASP_HDRSIZ)*ASP_MAXPACKETS)
42
43typedef struct ASP {
44    ATP			asp_atp;
45    struct sockaddr_at	asp_sat;
46    u_int8_t	        asp_wss;
47    u_int8_t            asp_sid;
48    union {
49	struct {
50	    char			*as_status;
51	    int				as_slen;
52	}			asu_status;
53	u_int16_t		asu_seq;
54    }			asp_u;
55#define asp_status	asp_u.asu_status.as_status
56#define asp_slen	asp_u.asu_status.as_slen
57#define asp_seq		asp_u.asu_seq
58    int			asp_flags;
59    char		child, inited, *commands;
60    char                cmdbuf[ASP_CMDMAXSIZ];
61    char                data[ASP_DATAMAXSIZ];
62    size_t		cmdlen, datalen;
63    off_t 		read_count, write_count;
64} *ASP;
65
66#define ASPFL_SLS	1
67#define ASPFL_SSS	2
68
69#define ASPFUNC_CLOSE	1
70#define ASPFUNC_CMD	2
71#define ASPFUNC_STAT	3
72#define ASPFUNC_OPEN	4
73#define ASPFUNC_TICKLE	5
74#define ASPFUNC_WRITE	6
75#define ASPFUNC_WRTCONT	7
76#define ASPFUNC_ATTN	8
77
78#define ASPERR_OK	0x0000
79#define ASPERR_BADVERS	0xfbd6
80#define ASPERR_BUFSMALL	0xfbd5
81#define ASPERR_NOSESS	0xfbd4
82#define ASPERR_NOSERV	0xfbd3
83#define ASPERR_PARM	0xfbd2
84#define ASPERR_SERVBUSY	0xfbd1
85#define ASPERR_SESSCLOS	0xfbd0
86#define ASPERR_SIZERR	0xfbcf
87#define ASPERR_TOOMANY	0xfbce
88#define ASPERR_NOACK	0xfbcd
89
90extern ASP asp_init         (ATP);
91extern void asp_setstatus   (ASP, char *, const int);
92extern ASP asp_getsession   (ASP, server_child *, const int);
93extern int asp_close        (ASP);
94extern int asp_shutdown     (ASP);
95extern int asp_attention    (ASP, AFPUserBytes);
96extern int asp_getrequest   (ASP);
97extern int asp_cmdreply     (ASP, int);
98extern int asp_wrtcont      (ASP, char *, size_t *);
99#define asp_wrtreply(a,b)   asp_cmdreply((a), (b))
100extern void asp_kill        (int);
101extern int asp_tickle      (ASP, const u_int8_t, struct sockaddr_at *);
102extern void asp_stop_tickle (void);
103
104#endif
105