#include <afsconfig.h>
#include <afs/param.h>
-#include <roken.h>
+/* darwin dirent.h doesn't give us the prototypes we want if KERNEL is
+ * defined, and roken includes dirent */
+#if defined(UKERNEL) && defined(AFS_USR_DARWIN_ENV)
+# undef KERNEL
+# include <roken.h>
+# define KERNEL
+#else
+# include <roken.h>
+#endif
#define VFS 1
#endif
#include <CoreFoundation/CoreFoundation.h>
-#include <SystemConfiguration/SystemConfiguration.h>
-#include <SystemConfiguration/SCDynamicStore.h>
-
+static int event_pid;
#ifndef AFS_ARM_DARWIN_ENV
-#include <IOKit/pwr_mgt/IOPMLib.h>
-#include <IOKit/IOMessage.h>
-
-static io_connect_t root_port;
-static IONotificationPortRef notify;
-static io_object_t iterator;
+#define MACOS_EVENT_HANDLING 1
#endif
-
-static CFRunLoopSourceRef source;
-
-static int event_pid;
-
#endif /* AFS_DARWIN_ENV */
#if AFS_HAVE_STATVFS || defined(HAVE_SYS_STATVFS_H)
OPT_rxmaxfrags,
};
-#if defined(AFS_DARWIN_ENV) && !defined(AFS_ARM_DARWIN_ENV)
+#ifdef MACOS_EVENT_HANDLING
+#include <SystemConfiguration/SystemConfiguration.h>
+#include <SystemConfiguration/SCDynamicStore.h>
+
+#include <IOKit/pwr_mgt/IOPMLib.h>
+#include <IOKit/IOMessage.h>
+
+static io_connect_t root_port;
+static IONotificationPortRef notify;
+static io_object_t iterator;
+static CFRunLoopSourceRef source;
+
static void
afsd_sleep_callback(void * refCon, io_service_t service,
natural_t messageType, void * messageArgument )
char reason[1024];
int code;
- code =
- parseNetFiles(addrbuf, maskbuf, mtubuf, MAXIPADDRS, reason,
- AFSDIR_CLIENT_NETINFO_FILEPATH,
- AFSDIR_CLIENT_NETRESTRICT_FILEPATH);
+ code = afsconf_ParseNetFiles(addrbuf, maskbuf, mtubuf, MAXIPADDRS,
+ reason, AFSDIR_CLIENT_NETINFO_FILEPATH,
+ AFSDIR_CLIENT_NETRESTRICT_FILEPATH);
if (code > 0) {
/* Note we're refreshing */
if (cp = hasmntopt(&mnt, "dev="))
rdev =
- (int)strtol(cp + strlen("dev="), (char **)NULL,
+ (int)strtol(cp + strlen("dev="), NULL,
16);
if ((rdev == 0) && (stat(mnt.mnt_mountp, &statmnt) == 0))
kernelMsg[1] = 0;
acellName[0] = '\0';
-#if defined(AFS_DARWIN_ENV) && !defined(AFS_ARM_DARWIN_ENV)
+#ifdef MACOS_EVENT_HANDLING
/* Fork the event handler also. */
code = fork();
if (code == 0) {
}
#endif
+ cmd_OpenConfigFile(AFSDIR_CLIENT_CONFIG_FILE_FILEPATH);
+ cmd_SetCommandName("afsd");
+
/* call atoi on the appropriate parsed results */
if (cmd_OptionAsInt(as, OPT_blocks, &cacheBlocks) == 0)
sawCacheBlocks = 1;
afs_uint32 addrbuf[MAXIPADDRS], maskbuf[MAXIPADDRS],
mtubuf[MAXIPADDRS];
char reason[1024];
- code =
- parseNetFiles(addrbuf, maskbuf, mtubuf, MAXIPADDRS, reason,
- AFSDIR_CLIENT_NETINFO_FILEPATH,
- AFSDIR_CLIENT_NETRESTRICT_FILEPATH);
+ code = afsconf_ParseNetFiles(addrbuf, maskbuf, mtubuf, MAXIPADDRS, reason,
+ AFSDIR_CLIENT_NETINFO_FILEPATH,
+ AFSDIR_CLIENT_NETRESTRICT_FILEPATH);
if (code > 0) {
if (enable_rxbind)
code = code | 0x80000000;
if (afsd_verbose)
printf("%s: Forking 'rmtsys' daemon.\n", rn);
afsd_fork(0, rmtsysd_thread, NULL);
+ code = afsd_syscall(AFSOP_SET_RMTSYS_FLAG, 1);
+ if (code)
+ printf("%s: Error enabling rmtsys support.\n", rn);
}
#endif /* !UKERNEL */
/*
case AFSOP_SET_BACKUPTREE:
case AFSOP_BUCKETPCT:
case AFSOP_GO:
+ case AFSOP_SET_RMTSYS_FLAG:
params[0] = CAST_SYSCALL_PARAM((va_arg(ap, int)));
break;
case AFSOP_SET_THISCELL: