netatalk: asp.h Source File

netatalk 4.5.0
Free and Open Source Apple Filing Protocol (AFP) Server
Loading...
Searching...
No Matches
asp.h
Go to the documentation of this file.
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#ifndef NO_DDP
28
29#include <sys/types.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
43 typedef struct ASP {
44 ATP asp_atp;
45 struct sockaddr_at asp_sat;
46 uint8_t asp_wss;
47 uint8_t asp_sid;
48 union {
49 struct {
50 char *as_status;
51 int as_slen;
52 } asu_status;
53 uint16_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 int asp_ipc_fd;
65 int asp_hint_fd;
66 int asp_cnx_cnt;
67 int asp_cnx_max;
68} *ASP;
69
70#define ASPFL_SLS 1
71#define ASPFL_SSS 2
72
73#define ASPFUNC_CLOSE 1
74#define ASPFUNC_CMD 2
75#define ASPFUNC_STAT 3
76#define ASPFUNC_OPEN 4
77#define ASPFUNC_TICKLE 5
78#define ASPFUNC_WRITE 6
79#define ASPFUNC_WRTCONT 7
80#define ASPFUNC_ATTN 8
81
82#define ASPERR_OK 0x0000
83#define ASPERR_BADVERS 0xfbd6
84#define ASPERR_BUFSMALL 0xfbd5
85#define ASPERR_NOSESS 0xfbd4
86#define ASPERR_NOSERV 0xfbd3
87#define ASPERR_PARM 0xfbd2
88#define ASPERR_SERVBUSY 0xfbd1
89#define ASPERR_SESSCLOS 0xfbd0
90#define ASPERR_SIZERR 0xfbcf
91#define ASPERR_TOOMANY 0xfbce
92#define ASPERR_NOACK 0xfbcd
93
94extern ASP asp_init(ATP);
95extern void asp_setstatus(ASP, char *, const int);
96extern ASP asp_getsession(ASP, server_child_t *, const int, afp_child_t **);
97extern int asp_close(ASP);
98extern int asp_shutdown(ASP);
99extern int asp_attention(ASP, AFPUserBytes);
100extern int asp_getrequest(ASP);
101extern int asp_cmdreply(ASP, int);
102extern int asp_wrtcont(ASP, char *, size_t *);
103#define asp_wrtreply(a,b) asp_cmdreply((a), (b))
104extern void asp_kill(int);
105extern int asp_tickle(ASP, const uint8_t, struct sockaddr_at *);
106extern void asp_stop_tickle(void);
107
108#endif /* NO_DDP */
109#endif
afp.h
AFPUserBytes
uint16_t AFPUserBytes
Definition afp.h:30
asp_stop_tickle
void asp_stop_tickle(void)
Definition asp_getsess.c:90
asp_getsession
ASP asp_getsession(ASP, server_child_t *, const int, afp_child_t **)
This call handles open, tickle, and getstatus requests.
Definition asp_getsess.c:106
asp_attention
int asp_attention(ASP, AFPUserBytes)
Definition asp_attn.c:24
asp_kill
void asp_kill(int)
Definition asp_getsess.c:83
asp_shutdown
int asp_shutdown(ASP)
Definition asp_shutdown.c:18
asp_close
int asp_close(ASP)
Definition asp_close.c:39
asp_wrtcont
int asp_wrtcont(ASP, char *, size_t *)
Definition asp_write.c:35
ASP_DATAMAXSIZ
#define ASP_DATAMAXSIZ
Definition asp.h:41
ASP_CMDMAXSIZ
#define ASP_CMDMAXSIZ
Definition asp.h:39
asp_setstatus
void asp_setstatus(ASP, char *, const int)
Definition asp_init.c:67
asp_getrequest
int asp_getrequest(ASP)
Definition asp_getreq.c:37
asp_init
ASP asp_init(ATP)
Definition asp_init.c:39
asp_cmdreply
int asp_cmdreply(ASP, int)
Definition asp_cmdreply.c:36
asp_tickle
int asp_tickle(ASP, const uint8_t, struct sockaddr_at *)
Definition asp_tickle.c:15
at.h
atp.h
ATP packet format.
ATP
struct atp_handle * ATP
Definition atp.h:121
server_child.h
data structures and utility functions for child processes
afp_child_t
struct afp_child afp_child_t
ASP
Definition asp.h:43
ASP::asp_sat
struct sockaddr_at asp_sat
Definition asp.h:45
ASP::asu_seq
uint16_t asu_seq
Definition asp.h:53
ASP::asp_hint_fd
int asp_hint_fd
Definition asp.h:65
ASP::as_status
char * as_status
Definition asp.h:50
ASP::cmdbuf
char cmdbuf[ASP_CMDMAXSIZ]
Definition asp.h:60
ASP::asp_cnx_cnt
int asp_cnx_cnt
Definition asp.h:66
ASP::asp_atp
ATP asp_atp
Definition asp.h:44
ASP::cmdlen
size_t cmdlen
Definition asp.h:62
ASP::datalen
size_t datalen
Definition asp.h:62
ASP::inited
char inited
Definition asp.h:59
ASP::as_slen
int as_slen
Definition asp.h:51
ASP::data
char data[ASP_DATAMAXSIZ]
Definition asp.h:61
ASP::asp_flags
int asp_flags
Definition asp.h:58
ASP::asp_ipc_fd
int asp_ipc_fd
Definition asp.h:64
ASP::read_count
off_t read_count
Definition asp.h:63
ASP::asp_u
union ASP::@357043125076125171374307157103375270102032217131 asp_u
ASP::child
char child
Definition asp.h:59
ASP::write_count
off_t write_count
Definition asp.h:63
ASP::asp_wss
uint8_t asp_wss
Definition asp.h:46
ASP::asp_cnx_max
int asp_cnx_max
Definition asp.h:67
ASP::commands
char * commands
Definition asp.h:59
ASP::asp_sid
uint8_t asp_sid
Definition asp.h:47
server_child_t
Definition server_child.h:47
sockaddr_at
Definition at.h:88