/*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000, 2007, 2008 Apple Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
- * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
- *
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
#include <stdio.h>
#include <pwd.h>
#include <termios.h>
-#include <utmp.h>
+#include <Availability.h>
#define PIDLOCK_NONBLOCK 1
#define PIDLOCK_USEHOSTNAME 2
+/*
+ * fparseln() specific operation flags.
+ */
#define FPARSELN_UNESCESC 0x01
#define FPARSELN_UNESCCONT 0x02
#define FPARSELN_UNESCCOMM 0x04
#define FPARSELN_UNESCREST 0x08
#define FPARSELN_UNESCALL 0x0f
+/*
+ * opendev() specific operation flags.
+ */
+#define OPENDEV_PART 0x01 /* Try to open the raw partition. */
+#define OPENDEV_BLCK 0x04 /* Open block, not character device. */
+
__BEGIN_DECLS
-void login __P((struct utmp *));
-int login_tty __P((int));
-int logout __P((const char *));
-void logwtmp __P((const char *, const char *, const char *));
-int pw_lock __P((int retries));
-int pw_mkdb __P((void));
-int pw_abort __P((void));
-void pw_init __P((void));
-void pw_edit __P((int notsetuid, const char *filename));
-void pw_prompt __P((void));
-void pw_copy __P((int ffd, int tfd, struct passwd *pw,
- struct passwd *old_pw));
-int pw_scan __P((char *bp, struct passwd *pw, int *flags));
-void pw_error __P((const char *name, int err, int eval));
-int openpty __P((int *, int *, char *, struct termios *,
- struct winsize *));
-char *fparseln __P((FILE *, size_t *, size_t *, const char[3], int));
-pid_t forkpty __P((int *, char *, struct termios *, struct winsize *));
-int getmaxpartitions __P((void));
-int getrawpartition __P((void));
-int opendisk __P((const char *, int, char *, size_t, int));
-int pidlock __P((const char *, int, pid_t *, const char *));
-int ttylock __P((const char *, int, pid_t *));
-int ttyunlock __P((const char *));
-int ttyaction __P((char *tty, char *act, char *user));
+#ifdef UNIFDEF_LEGACY_UTMP_APIS
+struct utmp; /* forward reference to /usr/include/utmp.h */
+void login(struct utmp *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5,__IPHONE_NA,__IPHONE_NA);
+#endif /* UNIFDEF_LEGACY_UTMP_APIS */
+int login_tty(int);
+#ifdef UNIFDEF_LEGACY_UTMP_APIS
+int logout(const char *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5,__IPHONE_NA,__IPHONE_NA);
+#endif /* UNIFDEF_LEGACY_UTMP_APIS */
+void logwtmp(const char *, const char *, const char *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5,__IPHONE_2_0,__IPHONE_2_0);
+int opendev(char *, int, int, char **);
+int openpty(int *, int *, char *, struct termios *,
+ struct winsize *);
+char *fparseln(FILE *, size_t *, size_t *, const char[3], int);
+pid_t forkpty(int *, char *, struct termios *, struct winsize *);
+int pidlock(const char *, int, pid_t *, const char *);
+int ttylock(const char *, int, pid_t *);
+int ttyunlock(const char *);
+int ttyaction(char *tty, char *act, char *user);
struct iovec;
-char *ttymsg __P((struct iovec *, int, const char *, int));
+char *ttymsg(struct iovec *, int, const char *, int);
__END_DECLS
+#ifdef UNIFDEF_LEGACY_UTMP_APIS
+
+/* Include utmp.h last to avoid deprecation warning above */
+#include <utmp.h>
+#endif /* UNIFDEF_LEGACY_UTMP_APIS */
#endif /* !_UTIL_H_ */