summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1999-12-04 21:55:39 +0000
committerLuke Leighton <lkcl@samba.org>1999-12-04 21:55:39 +0000
commitf6077db3173c7b6520d5735f78d06138ac273174 (patch)
tree8a919b198a0edf3567c11b9b523ea562b6faa68f /source3/include
parent9b44e117f955872ae42dcd5eee128394ca4d9ccd (diff)
downloadsamba-f6077db3173c7b6520d5735f78d06138ac273174.tar.gz
samba-f6077db3173c7b6520d5735f78d06138ac273174.tar.bz2
samba-f6077db3173c7b6520d5735f78d06138ac273174.zip
cool! created higher-order function table for agent redirection.
(This used to be commit 7bb2e55d0d3a00a97bba99ebed722a4adf84093c)
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/proto.h6
-rw-r--r--source3/include/smb.h3
-rw-r--r--source3/include/vagent.h51
3 files changed, 60 insertions, 0 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 24dfd6ed1a..5e423e3726 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -138,6 +138,12 @@ BOOL allow_access(char *deny_list,char *allow_list,
char *cname,char *caddr);
BOOL check_access(int sock, char *allow_list, char *deny_list);
+/*The following definitions come from lib/agent.c */
+
+void init_sock_redir(struct vagent_ops*va);
+void free_sock_redir(struct vagent_ops*va);
+void start_agent(struct vagent_ops *va);
+
/*The following definitions come from lib/bitmap.c */
struct bitmap *bitmap_allocate(int n);
diff --git a/source3/include/smb.h b/source3/include/smb.h
index 8adfa5e690..d4d2f6712a 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -550,6 +550,9 @@ typedef struct
#include "vfs.h"
+
+#include "vagent.h"
+
typedef struct connection_struct
{
struct connection_struct *next, *prev;
diff --git a/source3/include/vagent.h b/source3/include/vagent.h
new file mode 100644
index 0000000000..19bb976635
--- /dev/null
+++ b/source3/include/vagent.h
@@ -0,0 +1,51 @@
+/*
+ Unix SMB/Netbios implementation.
+ Version 1.9.
+ Vagent structures and parameters
+ Copyright (C) Luke Kenneth Casson Leighton 1999
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#ifndef _VAGENT_H
+#define _VAGENT_H
+
+/* Vagent operations structure */
+
+struct sock_redir
+{
+ int c;
+ int s;
+ int c_id;
+ int s_id;
+ void *n;
+};
+
+struct vagent_ops
+{
+ void (*free_sock)(void* sock);
+ int (*get_agent_sock)(void* id);
+
+ BOOL (*process_cli_sock)(struct sock_redir **socks, uint32 num_socks,
+ struct sock_redir *sock);
+ BOOL (*process_srv_sock)(struct sock_redir **socks, uint32 num_socks,
+ int fd);
+
+ void* id;
+ struct sock_redir **socks;
+ uint32 num_socks;
+};
+
+#endif /* _VAGENT_H */