netatalk  4.5.0
Free and Open Source Apple Filing Protocol (AFP) Server
Loading...
Searching...
No Matches
server_child.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 1997 Adrian Sun (asun@zoology.washington.edu)
3 * All rights reserved.
4 */
5
6#ifndef _ATALK_SERVER_CHILD_H
7#define _ATALK_SERVER_CHILD_H 1
8
9#include <arpa/inet.h>
10#include <stddef.h>
11#include <sys/types.h>
12
19
20#define CHILD_HASHSIZE 32
21
22/* The other afpch_state values are the DSI_* flags from dsi.h */
23#define ASP_RUNNING (1 << 10)
24
25/* One AFP session child process */
45
46/* Info and table with all AFP session child processes */
53
54/* server_child.c */
56extern afp_child_t *server_child_add(server_child_t *, pid_t, int ipc_fd,
57 int hint_fd);
58extern int server_child_remove(server_child_t *, pid_t);
61extern void server_child_kill(server_child_t *, int);
63 uid_t, uint32_t len, char *id,
64 uint32_t boottime);
66 uid_t uid, const void *token, size_t token_len);
68 const void *token, size_t token_len, int afp_socket,
69 uint16_t DSI_requestID);
72 uid_t, const char *client_address);
73extern void server_reset_signal(void);
74
75#endif
static const char * client_address(AFPObj *obj)
Definition afpd/auth.c:86
static server_child_t * childs
Definition afpstats.c:41
static server_child_t * children
Definition asp_getsess.c:43
void server_child_kill_one_by_id(server_child_t *children, pid_t pid, uid_t, uint32_t len, char *id, uint32_t boottime)
see if there is a process for the same mac
Definition server_child.c:406
void server_reset_signal(void)
Definition server_child.c:493
int server_child_remove(server_child_t *, pid_t)
Definition server_child.c:157
void server_child_free(server_child_t *)
free everything
Definition server_child.c:207
int server_child_transfer_session(server_child_t *children, uid_t uid, const void *token, size_t token_len, int afp_socket, uint16_t DSI_requestID)
Try to find an old session and pass socket.
Definition server_child.c:341
#define CHILD_HASHSIZE
Definition server_child.h:20
afp_child_t * server_child_add(server_child_t *, pid_t, int ipc_fd, int hint_fd)
add a child
Definition server_child.c:116
void server_child_handler(server_child_t *)
void server_child_kill(server_child_t *, int)
Definition server_child.c:250
server_child_t * server_child_alloc(int)
Definition server_child.c:100
void server_child_login_done(server_child_t *children, pid_t pid, uid_t, const char *client_address)
Definition server_child.c:458
afp_child_t * server_child_resolve(server_child_t *childs, id_t pid)
Definition server_child.c:85
struct afp_child afp_child_t
int server_child_set_session_token(server_child_t *children, pid_t pid, uid_t uid, const void *token, size_t token_len)
Store an opaque reconnect token for a child session.
Definition server_child.c:287
pid_t pid
Definition server_ipc.c:93
Definition server_child.h:26
struct afp_child * afpch_next
Definition server_child.h:43
time_t afpch_logintime
Definition server_child.h:32
pid_t afpch_pid
Definition server_child.h:27
int afpch_killed
Definition server_child.h:30
struct afp_child ** afpch_prevp
Definition server_child.h:42
char * afpch_clientid
Definition server_child.h:34
char * afpch_sessiontoken
Definition server_child.h:36
size_t afpch_sessiontoken_len
Definition server_child.h:35
uint32_t afpch_idlen
Definition server_child.h:33
int afpch_ipc_fd
Definition server_child.h:37
char * afpch_volumes
Definition server_child.h:41
char * afpch_hostname
Definition server_child.h:39
int afpch_valid
Definition server_child.h:29
int afpch_hint_fd
Definition server_child.h:38
uint32_t afpch_boottime
Definition server_child.h:31
int16_t afpch_state
Definition server_child.h:40
uid_t afpch_uid
Definition server_child.h:28
Definition server_child.h:47
int servch_count
Definition server_child.h:48
int servch_nsessions
Definition server_child.h:49
afp_child_t * servch_table[CHILD_HASHSIZE]
Definition server_child.h:50