Loading...
Searching...
No Matches
globus_logging.h
Go to the documentation of this file.
/*
* Copyright 1999-2006 University of Chicago
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef GLOBUS_LOGGING_H
#define GLOBUS_LOGGING_H 1
#include "globus_common_include.h"
#include "globus_time.h"
#ifdef __cplusplus
extern "C" {
#endif
#define GLOBUS_LOGGING_INLINE 0x08000000
typedef struct globus_l_logging_handle_s * globus_logging_handle_t;
typedef enum
{
GLOBUS_LOGGING_ERROR_PARAMETER,
GLOBUS_LOGGING_ERROR_ALLOC
} globus_logging_error_type_t;
typedef void
(*globus_logging_open_func_t)(
void * user_arg);
typedef void
(*globus_logging_write_func_t)(
globus_byte_t * buf,
globus_size_t length,
void * user_arg);
typedef void
(*globus_logging_close_func_t)(
void * user_arg);
typedef void
(*globus_logging_header_func_t)(
char * buffer,
globus_size_t * buf_len);
typedef struct globus_logging_module_s
{
globus_logging_open_func_t open_func;
globus_logging_write_func_t write_func;
globus_logging_close_func_t close_func;
globus_logging_header_func_t header_func;
} globus_logging_module_t;
void
globus_logging_update_pid(void);
globus_result_t
globus_logging_init(
globus_logging_handle_t * out_handle,
globus_reltime_t * flush_period,
int buffer_length,
int log_type,
globus_logging_module_t * module,
void * user_arg);
globus_result_t
globus_logging_write(
globus_logging_handle_t handle,
int type,
const char * fmt,
...);
globus_result_t
globus_logging_vwrite(
globus_logging_handle_t handle,
int type,
const char * fmt,
va_list ap);
globus_result_t
globus_logging_flush(
globus_logging_handle_t handle);
globus_result_t
globus_logging_destroy(
globus_logging_handle_t handle);
extern globus_logging_module_t globus_logging_stdio_module;
extern globus_logging_module_t globus_logging_syslog_module;
extern globus_logging_module_t globus_logging_stdio_ng_module;
extern globus_logging_module_t globus_logging_syslog_ng_module;
#ifdef __cplusplus
}
#endif
#endif /* GLOBUS_LOGGING_H */
globus_common_include.h
Include System Headers.
globus_logging_update_pid
void globus_logging_update_pid(void)
Definition globus_logging.c:134
globus_time.h
Time Types and Macros.
globus_byte_t
unsigned char globus_byte_t
Unsigned byte datatypeThis is used for byte-addressable arrays of arbitrary data which is not subject...
Definition globus_types.h:85
globus_result_t
uint32_t globus_result_t
Definition globus_types.h:99
globus_size_t
size_t globus_size_t
Standard size of memory objectThe globus_size_t is the size of a memory object. It is identical to si...
Definition globus_types.h:48