-
-static int LogFile = -1; /* fd for log */
-static int connected; /* have done connect */
-static int LogStat = 0; /* status bits, set by openlog() */
-static const char *LogTag = NULL; /* string to tag the entry with */
-static int LogFacility = LOG_USER; /* default facility code */
-static int LogMask = 0xff; /* mask of priorities to be logged */
+
+#define LOG_NO_NOTIFY 0x1000
+
+#ifdef BUILDING_VARIANT
+__private_extern__ int _sl_LogFile; /* fd for log */
+__private_extern__ int _sl_connected; /* have done connect */
+__private_extern__ int _sl_LogStat; /* status bits, set by openlog() */
+__private_extern__ const char *_sl_LogTag; /* string to tag the entry with */
+__private_extern__ int _sl_LogFacility; /* default facility code */
+__private_extern__ int _sl_LogMask; /* mask of priorities to be logged */
+__private_extern__ int _sl_NotifyToken; /* for remote control of priority filter */
+__private_extern__ int _sl_NotifyMaster; /* for remote control of priority filter */
+#else /* !BUILDING_VARIANT */
+__private_extern__ int _sl_LogFile = -1; /* fd for log */
+__private_extern__ int _sl_connected = 0; /* have done connect */
+__private_extern__ int _sl_LogStat = 0; /* status bits, set by openlog() */
+__private_extern__ const char *_sl_LogTag = NULL; /* string to tag the entry with */
+__private_extern__ int _sl_LogFacility = LOG_USER; /* default facility code */
+__private_extern__ int _sl_LogMask = 0xff; /* mask of priorities to be logged */
+__private_extern__ int _sl_NotifyToken = -1; /* for remote control of max logged priority */
+__private_extern__ int _sl_NotifyMaster = -1; /* for remote control of max logged priority */
+#endif /* BUILDING_VARIANT */
+
+__private_extern__ void _sl_init_notify();
+
+#define NOTIFY_SYSTEM_MASTER "com.apple.system.syslog.master"
+#define NOTIFY_PREFIX_SYSTEM "com.apple.system.syslog"
+#define NOTIFY_PREFIX_USER "user.syslog"
+#define NOTIFY_STATE_OFFSET 1000
+
+/* notify SPI */
+uint32_t notify_get_state(int token, int *state);
+uint32_t notify_register_plain(const char *name, int *out_token);