9f3b1e6c60
From Rainer Orth. From-SVN: r172935
38 lines
925 B
Go
38 lines
925 B
Go
// Copyright 2011 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// gccgo specific implementation of syslog for Solaris. Solaris uses
|
|
// STREAMS to communicate with syslogd. That is enough of a pain that
|
|
// we just call the libc function.
|
|
|
|
package syslog
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"syscall"
|
|
)
|
|
|
|
func unixSyslog() (conn serverConn, err os.Error) {
|
|
return libcConn(0), nil
|
|
}
|
|
|
|
type libcConn int
|
|
|
|
func syslog_c(int, *byte)
|
|
|
|
func (libcConn) writeBytes(p Priority, prefix string, b []byte) (int, os.Error) {
|
|
syslog_c(int(p), syscall.StringBytePtr(fmt.Sprintf("%s: %s", prefix, b)))
|
|
return len(b), nil
|
|
}
|
|
|
|
func (libcConn) writeString(p Priority, prefix string, s string) (int, os.Error) {
|
|
syslog_c(int(p), syscall.StringBytePtr(fmt.Sprintf("%s: %s", prefix, s)))
|
|
return len(s), nil
|
|
}
|
|
|
|
func (libcConn) close() os.Error {
|
|
return nil
|
|
}
|