module Journald::Native
Constants
- IS_DUMMY
- VERSION
Public Class Methods
dummy?()
click to toggle source
static VALUE jdl_native_is_dummy()
{
return JOURNALD_NATIVE_SD_JOURNAL_DUMMY ? Qtrue : Qfalse;
}
sd_journal_perror(p1)
click to toggle source
static VALUE jdl_native_perror(VALUE v_self, VALUE v_message)
{
char* message = StringValueCStr(v_message);
int result = sd_journal_perror(message);
return INT2NUM(result);
}
Also aliased as: perror
sd_journal_print(p1, p2)
click to toggle source
static VALUE jdl_native_print(VALUE v_self, VALUE v_priority, VALUE v_message)
{
int priority = NUM2INT(v_priority);
char* message = StringValueCStr(v_message);
int result = sd_journal_print(priority, "%s", message);
return INT2NUM(result);
}
Also aliased as: print
sd_journal_send(*args)
click to toggle source
static VALUE jdl_native_send(int argc, VALUE* argv, VALUE self)
{
/* first check everything is a string / convertable to string */
for (int i = 0; i < argc; i++) {
StringValue(argv[i]); /* you may get a ruby exception here */
}
/* allocate memory after all checks to avoid possible memory leak */
iovec_t* msgs = xcalloc(argc, sizeof(iovec_t));
for (int i = 0; i < argc; i++) {
VALUE v = argv[i];
msgs[i].iov_base = RSTRING_PTR(v);
msgs[i].iov_len = RSTRING_LEN(v);
}
int result = sd_journal_sendv(msgs, argc);
xfree(msgs);
return INT2NUM(result);
}
Also aliased as: send