blob: c35efc82d40352ab7b951f74b33fe1b53c63895b [file] [log] [blame]
/* $Id$
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to you 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.
*/
/*
* etch.h -- includes common to the entire etch c binding. note that all
* function signatures are assumed to have a __cdecl calling convention.
*/
#ifndef ETCH_H
#define ETCH_H
#undef IS_WINDOWS_ETCH
#ifdef WIN32
#define IS_WINDOWS_ETCH 32
#endif /* WIN32 */
#include "etchwarn.h" /* unicode switch warning */
#include <tchar.h> /* everything is unicode */
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "etchdefs.h" /* constants, #defines, typedefs, etc. */
#include "etchobjtypes.h" /* internal etch object type constants */
unsigned etchhash(const void* key, const int keylen, const unsigned priorhash);
typedef int (*etch_comparator) (void* myobj, void* otherobj);
#define IS_ETCH_TRANSPORT_LITTLEENDIAN FALSE
#define ETCHCONFIGDEF_EXAMPLE_STRING_MAXLEN 15
/**
* etch configuration items
*/
typedef struct etch_config
{
int memory_watch_id; /* memory alloc id */
int default_mailbox_read_waitms;
int sleepSecondsPriorClientExit; /* for use when stepping thru server */
int max_log_files; /* max log files in a single log directory */
int max_log_lines; /* max lines in a single log file */
int loglevel; /* computed 0, 1, 2, 3, 4 */
unsigned char log_level; /* X, D, I, W, E */
unsigned char is_log_to_file;
unsigned char is_log_to_console;
unsigned char is_validate_on_write;
unsigned char is_validate_on_read;
unsigned char is_log_memory_leak_detail;
unsigned char is_destroy_messages_with_mailbox;
unsigned char calculated_is_client;
char example_string[ETCHCONFIGDEF_EXAMPLE_STRING_MAXLEN+1];
} etch_config;
etch_config config; /* global config items */
#endif /* #ifndef ETCH_H */