aboutsummaryrefslogtreecommitdiff
path: root/sftp_server/server.h
blob: 460acbf3a0514bd39196aa1d5aa9f040b07e1f17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <libssh/libssh.h>
#include <libssh/sftp.h>
/* server.h */
/* headers for the sftp server project */
int parse_config(char *file);
char *user_chroot(char *user);
char *user_uid(char *user);
int user_nopassword(char *user);

/* userauth.c */
int do_auth(SSH_SESSION *session);

/* protocol.c */

int sftploop(SSH_SESSION *session, SFTP_SESSION *sftp);

/* list.c */
typedef struct list_struct {
    struct list_struct *next;
    char *key;
    void *data;
} list;

list *list_add(list *ptr, const char *key, void *data);
void *list_find(list *ptr, const char *key);
void list_set(list *ptr, const char *key, void *data);

struct group {
    list *users;
    char *chroot;
    char *uid;
    char *gid;
    int nopassword;
};

struct dir {
    char *name;
    list *subdir;
    list *List;
    list *Read;
    list *Write;
};