mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-08-03 16:30:29 +00:00
Added implementation for syslog related functionality.
On Unix, the syslog facility will connect to the syslogd through the Unix socket /dev/log. On Windows it uses the event logging API (ReportEvent). Had to add the constants for the LOG_xxxx values for Windows.
This commit is contained in:
parent
6b90ff60cd
commit
87f5e7e731
43 changed files with 148 additions and 67 deletions
|
@ -1,2 +1,15 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp advapi32,__imp_DeregisterEventSource,DeregisterEventSource,1239
|
||||
|
||||
.text.windows
|
||||
DeregisterEventSource:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov %rdi,%rcx
|
||||
sub $32,%rsp
|
||||
call *__imp_DeregisterEventSource(%rip)
|
||||
leave
|
||||
ret
|
||||
.endfn DeregisterEventSource,globl
|
||||
.previous
|
||||
|
|
|
@ -1,2 +1,12 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp advapi32,__imp_RegisterEventSourceA,RegisterEventSourceA,1686
|
||||
|
||||
.text.windows
|
||||
RegisterEventSourceA:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_RegisterEventSourceA(%rip),%rax
|
||||
jmp __sysv2nt
|
||||
.endfn RegisterEventSourceA,globl
|
||||
.previous
|
||||
|
|
|
@ -1,2 +1,12 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp advapi32,__imp_RegisterEventSourceW,RegisterEventSourceW,1687
|
||||
|
||||
.text.windows
|
||||
RegisterEventSourceW:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_RegisterEventSourceW(%rip),%rax
|
||||
jmp __sysv2nt
|
||||
.endfn RegisterEventSourceW,globl
|
||||
.previous
|
||||
|
|
|
@ -1,2 +1,12 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp advapi32,__imp_ReportEventA,ReportEventA,1704
|
||||
|
||||
.text.windows
|
||||
ReportEventA:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_ReportEventA(%rip),%rax
|
||||
jmp __sysv2nt8
|
||||
.endfn ReportEventA,globl
|
||||
.previous
|
||||
|
|
|
@ -1,2 +1,12 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp advapi32,__imp_ReportEventW,ReportEventW,1705
|
||||
|
||||
.text.windows
|
||||
ReportEventW:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_ReportEventW(%rip),%rax
|
||||
jmp __sysv2nt8
|
||||
.endfn ReportEventW,globl
|
||||
.previous
|
||||
|
|
|
@ -39,6 +39,19 @@ bool32 GetCursorPos(struct NtPoint *lpPoint);
|
|||
int64_t SendMessage(int64_t hWnd, uint32_t Msg, uint64_t wParam,
|
||||
int64_t lParam);
|
||||
|
||||
#define EVENTLOG_SUCCESS 0x00000000
|
||||
#define EVENTLOG_ERROR_TYPE 0x00000001
|
||||
#define EVENTLOG_WARNING_TYPE 0x00000002
|
||||
#define EVENTLOG_INFORMATION_TYPE 0x00000004
|
||||
#define EVENTLOG_AUDIT_SUCCESS 0x00000008
|
||||
#define EVENTLOG_AUDIT_FAILURE 0x00000010
|
||||
|
||||
int32_t ReportEventA(int64_t handle, uint16_t wType, uint16_t wCategory,
|
||||
uint32_t dwEventID, const char *lpUserId, uint16_t wNumStrings,
|
||||
uint32_t dwDataSize, const char **lpStrings, void **lpRawData);
|
||||
int64_t RegisterEventSourceA(const char *lpUNCServerName, const char *lpSourceName);
|
||||
int32_t DeregisterEventSource(uint64_t handle);
|
||||
|
||||
COSMOPOLITAN_C_END_
|
||||
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
|
||||
#endif /* COSMOPOLITAN_LIBC_NT_EVENTS_H_ */
|
||||
|
|
|
@ -40,6 +40,11 @@ struct sockaddr_in { /* Linux+NT ABI */
|
|||
uint8_t sin_zero[8];
|
||||
};
|
||||
|
||||
struct sockaddr_un {
|
||||
uint16_t sun_family; /* AF_UNIX */
|
||||
char sun_path[14];/* path */
|
||||
};
|
||||
|
||||
struct sockaddr_storage {
|
||||
union {
|
||||
uint16_t ss_family;
|
||||
|
|
|
@ -24,8 +24,11 @@ LIBC_SOCK_A_DIRECTDEPS = \
|
|||
LIBC_FMT \
|
||||
LIBC_INTRIN \
|
||||
LIBC_MEM \
|
||||
LIBC_TIME \
|
||||
LIBC_STR \
|
||||
LIBC_UNICODE \
|
||||
LIBC_NEXGEN32E \
|
||||
LIBC_NT_KERNEL32 \
|
||||
LIBC_NT_ADVAPI32 \
|
||||
LIBC_NT_KERNEL32 \
|
||||
LIBC_NT_MSWSOCK \
|
||||
LIBC_NT_NTDLL \
|
||||
|
|
|
@ -842,41 +842,41 @@ syscon pr PR_SET_PTRACER 0x59616d61 0 0 0 0 0
|
|||
|
||||
syscon log LOG_EMERG 0 0 0 0 0 0 # consensus
|
||||
syscon log LOG_KERN 0 0 0 0 0 0 # consensus
|
||||
syscon log LOG_ALERT 1 1 1 1 1 0 # unix consensus
|
||||
syscon log LOG_PID 1 1 1 1 1 0 # unix consensus
|
||||
syscon log LOG_CONS 2 2 2 2 2 0 # unix consensus
|
||||
syscon log LOG_CRIT 2 2 2 2 2 0 # unix consensus
|
||||
syscon log LOG_ERR 3 3 3 3 3 0 # unix consensus
|
||||
syscon log LOG_ODELAY 4 4 4 4 4 0 # unix consensus
|
||||
syscon log LOG_WARNING 4 4 4 4 4 0 # unix consensus
|
||||
syscon log LOG_NOTICE 5 5 5 5 5 0 # unix consensus
|
||||
syscon log LOG_INFO 6 6 6 6 6 0 # unix consensus
|
||||
syscon log LOG_DEBUG 7 7 7 7 7 0 # unix consensus
|
||||
syscon log LOG_PRIMASK 7 7 7 7 7 0 # unix consensus
|
||||
syscon log LOG_NDELAY 8 8 8 8 8 0 # unix consensus
|
||||
syscon log LOG_USER 8 8 8 8 8 0 # unix consensus
|
||||
syscon log LOG_MAIL 0x10 0x10 0x10 0x10 0x10 0 # unix consensus
|
||||
syscon log LOG_NOWAIT 0x10 0x10 0x10 0x10 0x10 0 # unix consensus
|
||||
syscon log LOG_DAEMON 24 24 24 24 24 0 # unix consensus
|
||||
syscon log LOG_NFACILITIES 24 25 24 24 24 0
|
||||
syscon log LOG_AUTH 0x20 0x20 0x20 0x20 0x20 0 # unix consensus
|
||||
syscon log LOG_PERROR 0x20 0x20 0x20 0x20 0x20 0 # unix consensus
|
||||
syscon log LOG_SYSLOG 40 40 40 40 40 0 # unix consensus
|
||||
syscon log LOG_LPR 48 48 48 48 48 0 # unix consensus
|
||||
syscon log LOG_NEWS 56 56 56 56 56 0 # unix consensus
|
||||
syscon log LOG_UUCP 0x40 0x40 0x40 0x40 0x40 0 # unix consensus
|
||||
syscon log LOG_CRON 72 72 72 72 72 0 # unix consensus
|
||||
syscon log LOG_ALERT 1 1 1 1 1 1 # unix consensus
|
||||
syscon log LOG_PID 1 1 1 1 1 1 # unix consensus
|
||||
syscon log LOG_CONS 2 2 2 2 2 2 # unix consensus
|
||||
syscon log LOG_CRIT 2 2 2 2 2 2 # unix consensus
|
||||
syscon log LOG_ERR 3 3 3 3 3 3 # unix consensus
|
||||
syscon log LOG_ODELAY 4 4 4 4 4 4 # unix consensus
|
||||
syscon log LOG_WARNING 4 4 4 4 4 4 # unix consensus
|
||||
syscon log LOG_NOTICE 5 5 5 5 5 5 # unix consensus
|
||||
syscon log LOG_INFO 6 6 6 6 6 6 # unix consensus
|
||||
syscon log LOG_DEBUG 7 7 7 7 7 7 # unix consensus
|
||||
syscon log LOG_PRIMASK 7 7 7 7 7 7 # unix consensus
|
||||
syscon log LOG_NDELAY 8 8 8 8 8 8 # unix consensus
|
||||
syscon log LOG_USER 8 8 8 8 8 8 # unix consensus
|
||||
syscon log LOG_MAIL 0x10 0x10 0x10 0x10 0x10 0x10 # unix consensus
|
||||
syscon log LOG_NOWAIT 0x10 0x10 0x10 0x10 0x10 0x10 # unix consensus
|
||||
syscon log LOG_DAEMON 24 24 24 24 24 24 # unix consensus
|
||||
syscon log LOG_NFACILITIES 24 25 24 24 24 24
|
||||
syscon log LOG_AUTH 0x20 0x20 0x20 0x20 0x20 0x20 # unix consensus
|
||||
syscon log LOG_PERROR 0x20 0x20 0x20 0x20 0x20 0x20 # unix consensus
|
||||
syscon log LOG_SYSLOG 40 40 40 40 40 40 # unix consensus
|
||||
syscon log LOG_LPR 48 48 48 48 48 48 # unix consensus
|
||||
syscon log LOG_NEWS 56 56 56 56 56 56 # unix consensus
|
||||
syscon log LOG_UUCP 0x40 0x40 0x40 0x40 0x40 40 # unix consensus
|
||||
syscon log LOG_CRON 72 72 72 72 72 72 # unix consensus
|
||||
syscon log LOG_SELECT 76 0 0 0 0 0
|
||||
syscon log LOG_SENSE 77 0 0 0 0 0
|
||||
syscon log LOG_LOCAL0 0x80 0x80 0x80 0x80 0x80 0 # unix consensus
|
||||
syscon log LOG_LOCAL1 136 136 136 136 136 0 # unix consensus
|
||||
syscon log LOG_LOCAL2 144 144 144 144 144 0 # unix consensus
|
||||
syscon log LOG_LOCAL3 152 152 152 152 152 0 # unix consensus
|
||||
syscon log LOG_LOCAL4 160 160 160 160 160 0 # unix consensus
|
||||
syscon log LOG_LOCAL5 168 168 168 168 168 0 # unix consensus
|
||||
syscon log LOG_LOCAL6 176 176 176 176 176 0 # unix consensus
|
||||
syscon log LOG_LOCAL7 184 184 184 184 184 0 # unix consensus
|
||||
syscon log LOG_FACMASK 0x03f8 0x03f8 0x03f8 0x03f8 0x03f8 0 # unix consensus
|
||||
syscon log LOG_LOCAL0 0x80 0x80 0x80 0x80 0x80 0x80 # unix consensus
|
||||
syscon log LOG_LOCAL1 136 136 136 136 136 136 # unix consensus
|
||||
syscon log LOG_LOCAL2 144 144 144 144 144 144 # unix consensus
|
||||
syscon log LOG_LOCAL3 152 152 152 152 152 152 # unix consensus
|
||||
syscon log LOG_LOCAL4 160 160 160 160 160 160 # unix consensus
|
||||
syscon log LOG_LOCAL5 168 168 168 168 168 168 # unix consensus
|
||||
syscon log LOG_LOCAL6 176 176 176 176 176 176 # unix consensus
|
||||
syscon log LOG_LOCAL7 184 184 184 184 184 184 # unix consensus
|
||||
syscon log LOG_FACMASK 0x03f8 0x03f8 0x03f8 0x03f8 0x03f8 0x03f8 # unix consensus
|
||||
|
||||
syscon sg SG_DXFER_TO_FROM_DEV -4 0 0 0 0 0
|
||||
syscon sg SG_DXFER_FROM_DEV -3 0 0 0 0 0
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_ALERT,1,1,1,1,1,0
|
||||
.syscon log,LOG_ALERT,1,1,1,1,1,1
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_AUTH,0x20,0x20,0x20,0x20,0x20,0
|
||||
.syscon log,LOG_AUTH,0x20,0x20,0x20,0x20,0x20,0x20
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_CONS,2,2,2,2,2,0
|
||||
.syscon log,LOG_CONS,2,2,2,2,2,2
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_CRIT,2,2,2,2,2,0
|
||||
.syscon log,LOG_CRIT,2,2,2,2,2,2
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_CRON,72,72,72,72,72,0
|
||||
.syscon log,LOG_CRON,72,72,72,72,72,72
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_DAEMON,24,24,24,24,24,0
|
||||
.syscon log,LOG_DAEMON,24,24,24,24,24,24
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_DEBUG,7,7,7,7,7,0
|
||||
.syscon log,LOG_DEBUG,7,7,7,7,7,7
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_ERR,3,3,3,3,3,0
|
||||
.syscon log,LOG_ERR,3,3,3,3,3,3
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_FACMASK,0x03f8,0x03f8,0x03f8,0x03f8,0x03f8,0
|
||||
.syscon log,LOG_FACMASK,0x03f8,0x03f8,0x03f8,0x03f8,0x03f8,0x03f8
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_INFO,6,6,6,6,6,0
|
||||
.syscon log,LOG_INFO,6,6,6,6,6,6
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_LOCAL0,0x80,0x80,0x80,0x80,0x80,0
|
||||
.syscon log,LOG_LOCAL0,0x80,0x80,0x80,0x80,0x80,0x80
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_LOCAL1,136,136,136,136,136,0
|
||||
.syscon log,LOG_LOCAL1,136,136,136,136,136,136
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_LOCAL2,144,144,144,144,144,0
|
||||
.syscon log,LOG_LOCAL2,144,144,144,144,144,144
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_LOCAL3,152,152,152,152,152,0
|
||||
.syscon log,LOG_LOCAL3,152,152,152,152,152,152
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_LOCAL4,160,160,160,160,160,0
|
||||
.syscon log,LOG_LOCAL4,160,160,160,160,160,160
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_LOCAL5,168,168,168,168,168,0
|
||||
.syscon log,LOG_LOCAL5,168,168,168,168,168,168
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_LOCAL6,176,176,176,176,176,0
|
||||
.syscon log,LOG_LOCAL6,176,176,176,176,176,176
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_LOCAL7,184,184,184,184,184,0
|
||||
.syscon log,LOG_LOCAL7,184,184,184,184,184,184
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_LPR,48,48,48,48,48,0
|
||||
.syscon log,LOG_LPR,48,48,48,48,48,48
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_MAIL,0x10,0x10,0x10,0x10,0x10,0
|
||||
.syscon log,LOG_MAIL,0x10,0x10,0x10,0x10,0x10,0x10
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_NDELAY,8,8,8,8,8,0
|
||||
.syscon log,LOG_NDELAY,8,8,8,8,8,8
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_NEWS,56,56,56,56,56,0
|
||||
.syscon log,LOG_NEWS,56,56,56,56,56,56
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_NFACILITIES,24,25,24,24,24,0
|
||||
.syscon log,LOG_NFACILITIES,24,25,24,24,24,24
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_NOTICE,5,5,5,5,5,0
|
||||
.syscon log,LOG_NOTICE,5,5,5,5,5,5
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_NOWAIT,0x10,0x10,0x10,0x10,0x10,0
|
||||
.syscon log,LOG_NOWAIT,0x10,0x10,0x10,0x10,0x10,0x10
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_ODELAY,4,4,4,4,4,0
|
||||
.syscon log,LOG_ODELAY,4,4,4,4,4,4
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_PERROR,0x20,0x20,0x20,0x20,0x20,0
|
||||
.syscon log,LOG_PERROR,0x20,0x20,0x20,0x20,0x20,0x20
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_PID,1,1,1,1,1,0
|
||||
.syscon log,LOG_PID,1,1,1,1,1,1
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_PRIMASK,7,7,7,7,7,0
|
||||
.syscon log,LOG_PRIMASK,7,7,7,7,7,7
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_SYSLOG,40,40,40,40,40,0
|
||||
.syscon log,LOG_SYSLOG,40,40,40,40,40,40
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_USER,8,8,8,8,8,0
|
||||
.syscon log,LOG_USER,8,8,8,8,8,8
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_UUCP,0x40,0x40,0x40,0x40,0x40,0
|
||||
.syscon log,LOG_UUCP,0x40,0x40,0x40,0x40,0x40,40
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#include "libc/sysv/consts/syscon.internal.h"
|
||||
.syscon log,LOG_WARNING,4,4,4,4,4,0
|
||||
.syscon log,LOG_WARNING,4,4,4,4,4,4
|
||||
|
|
|
@ -40,6 +40,13 @@
|
|||
#define LOG_UUCP SYMBOLIC(LOG_UUCP)
|
||||
#define LOG_WARNING SYMBOLIC(LOG_WARNING)
|
||||
|
||||
/*
|
||||
* arguments to setlogmask.
|
||||
*/
|
||||
#define LOG_MASK(pri) (1 << (pri)) /* mask for one priority */
|
||||
#define LOG_UPTO(pri) ((1 << ((pri)+1)) - 1) /* all priorities through pri */
|
||||
|
||||
|
||||
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
||||
COSMOPOLITAN_C_START_
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue