/* AFSOP_STOP_RXK_LISTENER 217 defined in osi.h */
#define AFSOP_STOP_AFSDB 218 /* Stop AFSDB handler */
#define AFSOP_STOP_NETIF 219 /* Stop Netif poller */
+#define AFSOP_SOCKPROXY_HANDLER 220 /* Userspace socket handler */
+#define AFSOP_STOP_SOCKPROXY 221 /* Stop socket proxy daemon */
-#define AFSOP_MAX_OPCODE AFSOP_STOP_NETIF /* Largest defined opcode. */
+#define AFSOP_MAX_OPCODE AFSOP_STOP_SOCKPROXY /* Largest defined opcode. */
/*
* AFS system call types and flags.
afs_int32 dUnique;
};
+struct afs_usp_param {
+ afs_int32 idx; /* process index */
+ afs_int32 addr; /* ipv4 addr (net order) to be bound to the socket */
+ afs_int32 port; /* port (net order) to be bound to the socket */
+ afs_int32 npkts; /* number of packets */
+};
+
#ifdef AFS_DARWIN_ENV
# define AFS_USPC_UMV 1
#endif
#define AFS_USPC_SHUTDOWN 2
#define AFS_USPC_NOOP 3
+#ifdef AFS_SOCKPROXY_ENV
+# define AFS_USPC_SOCKPROXY_START 4
+# define AFS_USPC_SOCKPROXY_SEND 5
+# define AFS_USPC_SOCKPROXY_RECV 6
+#endif
+
struct afs_uspc_param {
afs_int32 retval;
afs_int32 ts; /* brequest ts - always unique */
afs_int32 reqtype;
union {
struct afs_umv_param umv;
+ struct afs_usp_param usp;
} req;
};
/*
* Note that the AFS_*ALLOCSIZ values should be multiples of sizeof(void*) to
- * accomodate pointer alignment.
+ * accommodate pointer alignment.
*/
/* Used in rx.c as well as afs directory. */
-#if defined(AFS_AIX32_ENV) || defined(AFS_HPUX_ENV)
+#if (defined(AFS_AIX32_ENV) && !defined(AFS_AIX61_ENV)) || defined(AFS_HPUX_ENV)
/* XXX Because of rxkad_cprivate... XXX */
#define AFS_SMALLOCSIZ (38*sizeof(void *)) /* "Small" allocated size */
#else
/* Defines and structures for the AFS proc replacement layer for the original syscall (AFS_SYSCALL) strategy */
-#ifdef AFS_LINUX20_ENV
+#ifdef AFS_LINUX_ENV
#define PROC_FSDIRNAME "openafs"
#define PROC_SYSCALL_NAME "afs_ioctl"
#define AFS_CACHE_VOLUME_INODE -4
#endif
+#ifdef AFS_SOCKPROXY_ENV
+# define AFS_SOCKPROXY_PAYLOAD_MAX 8192 /* max payload supported by libafs */
+# define AFS_SOCKPROXY_PKT_MAX 1024 /* max number of packets supported by libafs */
+# define AFS_SOCKPROXY_NPROCS 4 /* number of processes */
+struct afs_pkt_hdr {
+ afs_uint32 addr; /* ipv4 address (net order) */
+ afs_uint32 port; /* port (net order) */
+ afs_uint32 size; /* size of payload */
+ afs_uint32 pad; /* spare field, must be 0 */
+ void *payload; /* data to be sent or received */
+};
+#endif
+
#endif /* _AFS_ARGS_H_ */