1#ifndef _RPC_HANDLERS_H_
2#define _RPC_HANDLERS_H_
3
4#include "betalk.h"
5#include "sessions.h"
6
7typedef void (*bt_net_func)(bt_session_t *, unsigned int, int, bt_arg_t *);
8
9typedef struct dirCommand
10{
11	unsigned char command;
12	bt_net_func handler;
13	bool supported;
14	uint8 args;
15	uint32 argTypes[MAX_COMMAND_ARGS];
16} bt_command_t;
17
18
19void netbtPreMount(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
20void netbtMount(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
21void netbtFSInfo(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
22void netbtLookup(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
23void netbtStat(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
24void netbtReadDir(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
25void netbtRead(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
26void netbtWrite(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
27void netbtCreate(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
28void netbtTruncate(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
29void netbtCreateDir(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
30void netbtDeleteDir(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
31void netbtRename(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
32void netbtUnlink(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
33void netbtReadLink(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
34void netbtSymLink(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
35void netbtWStat(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
36void netbtReadAttrib(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
37void netbtWriteAttrib(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
38void netbtReadAttribDir(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
39void netbtRemoveAttrib(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
40void netbtStatAttrib(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
41void netbtReadIndexDir(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
42void netbtCreateIndex(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
43void netbtRemoveIndex(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
44void netbtStatIndex(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
45void netbtReadQuery(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
46void netbtCommit(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
47void netbtPrintJobNew(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
48void netbtPrintJobData(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
49void netbtPrintJobCommit(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
50void netbtAuthenticate(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
51void netbtQuit(bt_session_t *session, unsigned int xid, int argc, bt_arg_t argv[]);
52
53#endif
54