[Spread-cvs] commit: r483 - in libspreadutil/trunk: include src
jonathan at spread.org
jonathan at spread.org
Mon Mar 5 14:36:45 EST 2012
Author: jonathan
Date: 2012-03-05 14:36:45 -0500 (Mon, 05 Mar 2012)
New Revision: 483
Added:
libspreadutil/trunk/include/spu_alarm.h
libspreadutil/trunk/include/spu_alarm_types.h
libspreadutil/trunk/include/spu_data_link.h
libspreadutil/trunk/include/spu_events.h
libspreadutil/trunk/include/spu_memory.h
libspreadutil/trunk/include/spu_objects.h
libspreadutil/trunk/include/spu_objects_local.h
libspreadutil/trunk/include/spu_system_defs.h
libspreadutil/trunk/include/spu_system_defs_autoconf.h
libspreadutil/trunk/include/spu_system_defs_windows.h
Removed:
libspreadutil/trunk/include/alarm.h
libspreadutil/trunk/include/alarm_types.h
libspreadutil/trunk/include/data_link.h
libspreadutil/trunk/include/memory.h
libspreadutil/trunk/include/objects.h
libspreadutil/trunk/include/objects_local.h
libspreadutil/trunk/include/sp_events.h
libspreadutil/trunk/include/system_defs.h
libspreadutil/trunk/include/system_defs_autoconf.h
libspreadutil/trunk/include/system_defs_windows.h
Modified:
libspreadutil/trunk/src/alarm.c
libspreadutil/trunk/src/data_link.c
libspreadutil/trunk/src/events.c
libspreadutil/trunk/src/memory.c
Log:
Rename all header files to have spu_ prefix. Update source files.
Deleted: libspreadutil/trunk/include/alarm.h
===================================================================
--- libspreadutil/trunk/include/alarm.h 2012-03-05 19:32:04 UTC (rev 482)
+++ libspreadutil/trunk/include/alarm.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -1,117 +0,0 @@
-/*
- * The Spread Toolkit.
- *
- * The contents of this file are subject to the Spread Open-Source
- * License, Version 1.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.spread.org/license/
- *
- * or in the file ``license.txt'' found in this distribution.
- *
- * Software distributed under the License is distributed on an AS IS basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Creators of Spread are:
- * Yair Amir, Michal Miskin-Amir, Jonathan Stanton, John Schultz.
- *
- * Copyright (C) 1993-2009 Spread Concepts LLC <info at spreadconcepts.com>
- *
- * All Rights Reserved.
- *
- * Major Contributor(s):
- * ---------------
- * Ryan Caudy rcaudy at gmail.com - contributions to process groups.
- * Claudiu Danilov claudiu at acm.org - scalable wide area support.
- * Cristina Nita-Rotaru crisn at cs.purdue.edu - group communication security.
- * Theo Schlossnagle jesus at omniti.com - Perl, autoconf, old skiplist.
- * Dan Schoenblum dansch at cnds.jhu.edu - Java interface.
- *
- */
-
-
-#ifndef INC_ALARM
-#define INC_ALARM
-
-#include <stdio.h>
-#include "system.h"
-
-/* Type for Alarm realtime handler functions */
-typedef int (alarm_realtime_handler)( int16, int32, char *, size_t, char *, size_t);
-
-
-/* This includes the custom types for each project */
-#include "alarm_types.h"
-
-/* These are always defined for any project using Alarm */
-#define ALL 0xffffffff
-#define NONE 0x00000000
-
-/* Priority levels */
-#define SPLOG_DEBUG 0x0001 /* Program information that is only useful for debugging.
- Will normally be turned off in operation. */
-#define SPLOG_INFO 0x0002 /* Program reports information that may be useful for
- performance tuning, analysis, or operational checks. */
-#define SPLOG_WARNING 0x0003 /* Program encountered a situation that is not erroneous,
- but is uncommon and may indicate an error. */
-#define SPLOG_ERROR 0x0004 /* Program encountered an error that can be recovered from. */
-#define SPLOG_CRITICAL 0x0005 /* Program will not exit, but has only temporarily recovered
- and without help may soon fail. */
-#define SPLOG_FATAL 0x0006 /* Program will exit() or abort(). */
-
-#define SPLOG_PRINT 0x0007 /* Program should always print this information */
-
-#define SPLOG_PRIORITY_FIELDS 0x000f
-
-/* Feature Flags for Priority field */
-#define SPLOG_NODATE 0x0010 /* Program should omit the datestamp at the beginning of the message. */
-#define SPLOG_REALTIME 0x0020 /* This message should be disseminated through the realtime handler if possible.
- This is used for alerts you want sent now and not just logged (they are also logged). */
-#define SPLOG_PRIORITY_FLAGS 0x00f0
-
-#ifdef HAVE_GOOD_VARGS
-void Alarmp( int16 priority, int32 type, char *message, ...);
-void Alarm( int32 type, char *message, ...);
-
-#else
-void Alarm();
-#endif
-
-void Alarm_set_output(char *filename);
-
-void Alarm_enable_timestamp(const char *format);
-void Alarm_enable_timestamp_high_res(const char *format);
-void Alarm_disable_timestamp(void);
-
-void Alarm_set_types(int32 mask);
-void Alarm_clear_types(int32 mask);
-int32 Alarm_get_types(void);
-
-void Alarm_set_priority(int16 priority);
-int16 Alarm_get_priority(void);
-
-void Alarm_set_realtime_print_handler( alarm_realtime_handler *output_message_function );
-
-void Alarm_set_interactive(void);
-int Alarm_get_interactive(void);
-
-#define IPF "%d.%d.%d.%d"
-
-#define IP1(address) ( (int) ( ( (address) >> 24 ) & 0xFF ) )
-#define IP2(address) ( (int) ( ( (address) >> 16 ) & 0xFF ) )
-#define IP3(address) ( (int) ( ( (address) >> 8 ) & 0xFF ) )
-#define IP4(address) ( (int) ( ( (address) >> 0 ) & 0xFF ) )
-
-#define IP(address) IP1(address), IP2(address), IP3(address), IP4(address)
-
-#define IP1_NET(address) ( (int) ( (unsigned char*) &(address) )[0] )
-#define IP2_NET(address) ( (int) ( (unsigned char*) &(address) )[1] )
-#define IP3_NET(address) ( (int) ( (unsigned char*) &(address) )[2] )
-#define IP4_NET(address) ( (int) ( (unsigned char*) &(address) )[3] )
-
-#define IP_NET(address) IP1_NET(address), IP2_NET(address), IP3_NET(address), IP4_NET(address)
-
-#endif /* INC_ALARM */
Deleted: libspreadutil/trunk/include/alarm_types.h
===================================================================
--- libspreadutil/trunk/include/alarm_types.h 2012-03-05 19:32:04 UTC (rev 482)
+++ libspreadutil/trunk/include/alarm_types.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -1,82 +0,0 @@
-/*
- * The Spread Toolkit.
- *
- * The contents of this file are subject to the Spread Open-Source
- * License, Version 1.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.spread.org/license/
- *
- * or in the file ``license.txt'' found in this distribution.
- *
- * Software distributed under the License is distributed on an AS IS basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Creators of Spread are:
- * Yair Amir, Michal Miskin-Amir, Jonathan Stanton, John Schultz.
- *
- * Copyright (C) 1993-2006 Spread Concepts LLC <info at spreadconcepts.com>
- *
- * All Rights Reserved.
- *
- * Major Contributor(s):
- * ---------------
- * Ryan Caudy rcaudy at gmail.com - contributions to process groups.
- * Cristina Nita-Rotaru crisn at cs.purdue.edu - group communication security.
- * Theo Schlossnagle jesus at omniti.com - Perl, autoconf, old skiplist.
- * Dan Schoenblum dansch at cnds.jhu.edu - Java interface.
- *
- *
- * This file is also licensed by Spread Concepts LLC under the Spines
- * Open-Source License, version 1.0. You may obtain a copy of the
- * Spines Open-Source License, version 1.0 at:
- *
- * http://www.spines.org/LICENSE.txt
- *
- * or in the file ``LICENSE.txt'' found in this distribution.
- *
- */
-
-
-#ifndef INC_ALARM_TYPES
-#define INC_ALARM_TYPES
-
-/* List of type values that are valid for this project.
- * This list can be customized for each user of Alarm library.
- * The defines must be consistent amoung all code that will be compiled together,
- * but can be different for different executables
- */
-#define DEBUG 0x00000001
-#define EXIT 0x00000002
-#define PRINT 0x00000004
-/* new type to replace general prints */
-#define SYSTEM 0x00000004
-
-#define DATA_LINK 0x00000010
-#define NETWORK 0x00000020
-#define PROTOCOL 0x00000040
-#define SESSION 0x00000080
-//#define CONF 0x00000100 Clash with an OpenSSL definition
-#define MEMB 0x00000200
-#define FLOW_CONTROL 0x00000400
-#define STATUS 0x00000800
-#define EVENTS 0x00001000
-#define GROUPS 0x00002000
-
-#define HOP 0x00004000
-#define OBJ_HANDLER 0x00008000
-#define MEMORY 0x00010000
-#define ROUTE 0x00020000
-#define QOS 0x00040000
-#define RING 0x00080000
-#define TCP_HOP 0x00100000
-
-#define SKIPLIST 0x00200000
-#define ACM 0x00400000
-
-#define SECURITY 0x00800000
-
-#endif /* INC_ALARM_TYPES */
Deleted: libspreadutil/trunk/include/data_link.h
===================================================================
--- libspreadutil/trunk/include/data_link.h 2012-03-05 19:32:04 UTC (rev 482)
+++ libspreadutil/trunk/include/data_link.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -1,58 +0,0 @@
-/*
- * The Spread Toolkit.
- *
- * The contents of this file are subject to the Spread Open-Source
- * License, Version 1.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.spread.org/license/
- *
- * or in the file ``license.txt'' found in this distribution.
- *
- * Software distributed under the License is distributed on an AS IS basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Creators of Spread are:
- * Yair Amir, Michal Miskin-Amir, Jonathan Stanton, John Schultz.
- *
- * Copyright (C) 1993-2009 Spread Concepts LLC <info at spreadconcepts.com>
- *
- * All Rights Reserved.
- *
- * Major Contributor(s):
- * ---------------
- * Ryan Caudy rcaudy at gmail.com - contributions to process groups.
- * Claudiu Danilov claudiu at acm.org - scalable wide area support.
- * Cristina Nita-Rotaru crisn at cs.purdue.edu - group communication security.
- * Theo Schlossnagle jesus at omniti.com - Perl, autoconf, old skiplist.
- * Dan Schoenblum dansch at cnds.jhu.edu - Java interface.
- *
- */
-
-
-#ifndef INC_DATA_LINK
-#define INC_DATA_LINK
-
-#include "system.h"
-#include "scatter.h"
-
-#define MAX_PACKET_SIZE 1472 /*1472 = 1536-64 (of udp)*/
-
-#define SEND_CHANNEL 0x00000001
-#define RECV_CHANNEL 0x00000002
-#define NO_LOOP 0x00000004
-#define REUSE_ADDR 0x00000008
-
-#define IS_MCAST_ADDR(addr) ( ( (addr) & 0xF0000000 ) == 0xE0000000 )
-#define IS_MCAST_ADDR_NET(addr) ( ( (unsigned char*) &(addr) )[0] == 0xE0 )
-
-channel DL_init_channel( int32 channel_type, int16 port, int32 mcast_address, int32 interface_address );
-void DL_close_channel(channel chan);
-int DL_send( channel chan, int32 address, int16 port, sys_scatter *scat );
-int DL_recv( channel chan, sys_scatter *scat );
-int DL_recvfrom( channel chan, sys_scatter *scat, int *src_address, unsigned short *src_port );
-
-#endif /* INC_DATA_LINK */
Deleted: libspreadutil/trunk/include/memory.h
===================================================================
--- libspreadutil/trunk/include/memory.h 2012-03-05 19:32:04 UTC (rev 482)
+++ libspreadutil/trunk/include/memory.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -1,175 +0,0 @@
-/*
- * The Spread Toolkit.
- *
- * The contents of this file are subject to the Spread Open-Source
- * License, Version 1.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.spread.org/license/
- *
- * or in the file ``license.txt'' found in this distribution.
- *
- * Software distributed under the License is distributed on an AS IS basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Creators of Spread are:
- * Yair Amir, Michal Miskin-Amir, Jonathan Stanton, John Schultz.
- *
- * Copyright (C) 1993-2009 Spread Concepts LLC <info at spreadconcepts.com>
- *
- * All Rights Reserved.
- *
- * Major Contributor(s):
- * ---------------
- * Ryan Caudy rcaudy at gmail.com - contributions to process groups.
- * Claudiu Danilov claudiu at acm.org - scalable wide area support.
- * Cristina Nita-Rotaru crisn at cs.purdue.edu - group communication security.
- * Theo Schlossnagle jesus at omniti.com - Perl, autoconf, old skiplist.
- * Dan Schoenblum dansch at cnds.jhu.edu - Java interface.
- *
- */
-
-
-#ifndef MEMORY_H
-#define MEMORY_H
-
-#include "system.h"
-
-/*******************************************************************************
- * Special Object type used for
- * NON-OBJECT Oriented allocates (traditional Malloc/free with arbitrary sizes)
- * 0 is never a valid object type for any real object (they start at 1)
- *******************************************************************************/
-#define BLOCK_OBJECT 0
-
-
-/************************************
- * Function Declarations
- ************************************/
-
-/* Input: valid object type, size of object, threshold/watermark value for this object,
- * number of initial objects to create
- * Output: error code
- * Effects: registers type, sets watermark for type,creates initial memory buffers and updates global vars
- * Should ONLY be called once per execution of the program, but must be called before any other
- * memory management function is used on that object
- */
-int Mem_init_object(int32u obj_type, int32u size, unsigned int threshold, unsigned int initial);
-
-/* This calls Mem_init_object and if any error results it EXIT's with a printed error */
-void Mem_init_object_abort( int32u obj_type, int32u size, unsigned int threshold, unsigned int initial );
-
-/* This initializes the status reporting of the memory module and should be called from
- * status.c after the Group, Recod, and RefRecord objects are mem_init'ed.
- * After this is called each object created by Mem_init_object() will automatically
- * be added to the status reporting.
- * This function is needed to avoid a double-dependency loop where memory needs status working when
- * it starts, but status requires memory working for it to work.
- */
-void Mem_init_status();
-/* Input: a valid type of object
- * Output: a pointer to memory which will hold an object
- * Effects: will only allocate an object from system if none exist in pool
- */
-void * new(int32u obj_type);
-
-
-/* Input: a valid pointer to an object or block created by new or mem_alloc
- * Output: none
- * Effects: destroys the object and frees memory associated with it if necessary
- */
-void dispose(void *object);
-
-
-/************************************************************************
- * These functions are for reference count objects only.
- * Basically they provide the same functionality as 'new' and 'dispose'
- * only that they provide reference count functionality.
- * Reference count functions can not be applied on non ref. count objects.
- * and viceversa
- ************************************************************************/
-
-/* Input: a valid type of object
- * Output: a pointer to memory which will hold an object
- * Effects: will only allocate an object from system if none exist in pool
- * The allocated object will have reference counter initiated with 1
- */
-void * new_ref_cnt(int32 obj_type);
-
-
-/* Input: a size of memory block desired
- * Output: a pointer to memory which will hold the block
- * Effects:
- */
-void * Mem_alloc_ref_cnt(unsigned int length);
-
-/* Input: a valid pointer to a reference count object
- * Output: the resulting reference count
- * Effects: Increments the reference count of an object
- */
-int inc_ref_cnt(void *object);
-
-
-/* Input: a valid pointer to a reference count object
- * Output: the resulting reference count
- * Effects: Decrements the reference count of an object.
- * If the resulting reference count is 0, then the object is disposed
- */
-int dec_ref_cnt(void *object);
-
-
-/* Input: a valid pointer to a reference count object
- * Output: the reference count of the object
- * Effects: Returns the reference count of an object.
- */
-int get_ref_cnt(void *object);
-
-
-/***************************************************************************
- * These two functions are ONLY needed for dynamically sized allocations
- * like traditional malloc/free --NOT for object based allocations
- ***************************************************************************/
-
-/* Input: a size of memory block desired
- * Output: a pointer to memory which will hold the block
- * Effects:
- */
-void * Mem_alloc( unsigned int length);
-
-
-/* Input: a valid pointer to an object created with memalloc_object
- * Output: a pointer to an object which is an identical copy of the object input
- * Effects: same as memalloc_object
- */
-void * Mem_copy(const void *object);
-
-/************************
- * Query Functions
- ************************/
-
-int Mem_valid_objtype(int32u objtype);
-
-/* Input: A valid pointer to an object/block created with new or mem_alloc
- * Output: the obj_type of this block of memory
- */
-int32u Mem_Obj_Type(const void *object);
-
-extern LOC_INLINE unsigned int Mem_total_bytes(void);
-extern LOC_INLINE unsigned int Mem_total_max_bytes(void);
-extern LOC_INLINE unsigned int Mem_total_inuse(void);
-extern LOC_INLINE unsigned int Mem_total_max_inuse(void);
-extern LOC_INLINE unsigned int Mem_total_obj(void);
-extern LOC_INLINE unsigned int Mem_total_max_obj(void);
-extern LOC_INLINE unsigned int Mem_bytes(int32u objtype);
-extern LOC_INLINE unsigned int Mem_max_bytes(int32u objtype);
-extern LOC_INLINE unsigned int Mem_obj_in_pool(int32u objtype);
-extern LOC_INLINE unsigned int Mem_obj_in_app(int32u objtype);
-extern LOC_INLINE unsigned int Mem_max_in_app(int32u objtype);
-extern LOC_INLINE unsigned int Mem_obj_total(int32u objtype);
-extern LOC_INLINE unsigned int Mem_max_obj(int32u objtype);
-
-#endif /* MEMORY_H */
-
Deleted: libspreadutil/trunk/include/objects.h
===================================================================
--- libspreadutil/trunk/include/objects.h 2012-03-05 19:32:04 UTC (rev 482)
+++ libspreadutil/trunk/include/objects.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -1,73 +0,0 @@
-/*
- * The Spread Toolkit.
- *
- * The contents of this file are subject to the Spread Open-Source
- * License, Version 1.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.spread.org/license/
- *
- * or in the file ``license.txt'' found in this distribution.
- *
- * Software distributed under the License is distributed on an AS IS basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Creators of Spread are:
- * Yair Amir, Michal Miskin-Amir, Jonathan Stanton, John Schultz.
- *
- * Copyright (C) 1993-2009 Spread Concepts LLC <info at spreadconcepts.com>
- *
- * All Rights Reserved.
- *
- * Major Contributor(s):
- * ---------------
- * Ryan Caudy rcaudy at gmail.com - contributions to process groups.
- * Claudiu Danilov claudiu at acm.org - scalable wide area support.
- * Cristina Nita-Rotaru crisn at cs.purdue.edu - group communication security.
- * Theo Schlossnagle jesus at omniti.com - Perl, autoconf, old skiplist.
- * Dan Schoenblum dansch at cnds.jhu.edu - Java interface.
- *
- */
-
-
-/* objects.h
- * main declarations of objects
- * Copyright 1997-2012 Jonathan Stanton <jonathan at spread.org>
- *
- */
-
-#ifndef OBJECTS_H
-#define OBJECTS_H
-
-#define MAX_OBJECTS 200
-#define MAX_OBJ_USED 56
-
-/* Object types
- *
- * Object types must start with 1 and go up. 0 is reserved
- * The implementation of the spread-util library uses the following object ids
- * so applications must start with higher numbers.
- */
-
-#define TIME_EVENT 1
-
-#define FIRST_APPLICATION_OBJECT_TYPE 2
-
-#include "objects_local.h"
-
-/* Special objects */
-
-/* This represents an object of undertermined or
- * variable type. Can only be used when appropriate.
- * i.e. when internal structure of object is not accessed.
- * This is mainly used with queues
- */
-#define UNKNOWN_OBJ (MAX_OBJ_USED -1)
-
-
-#endif /* OBJECTS_H */
-
-
Deleted: libspreadutil/trunk/include/objects_local.h
===================================================================
--- libspreadutil/trunk/include/objects_local.h 2012-03-05 19:32:04 UTC (rev 482)
+++ libspreadutil/trunk/include/objects_local.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -1,60 +0,0 @@
-/*
- * The Spread Toolkit.
- *
- * The contents of this file are subject to the Spread Open-Source
- * License, Version 1.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.spread.org/license/
- *
- * or in the file ``license.txt'' found in this distribution.
- *
- * Software distributed under the License is distributed on an AS IS basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Creators of Spread are:
- * Yair Amir, Michal Miskin-Amir, Jonathan Stanton, John Schultz.
- *
- * Copyright (C) 1993-2009 Spread Concepts LLC <info at spreadconcepts.com>
- *
- * All Rights Reserved.
- *
- * Major Contributor(s):
- * ---------------
- * Ryan Caudy rcaudy at gmail.com - contributions to process groups.
- * Claudiu Danilov claudiu at acm.org - scalable wide area support.
- * Cristina Nita-Rotaru crisn at cs.purdue.edu - group communication security.
- * Theo Schlossnagle jesus at omniti.com - Perl, autoconf, old skiplist.
- * Dan Schoenblum dansch at cnds.jhu.edu - Java interface.
- *
- */
-
-
-/* objects.h
- * main declarations of objects
- * Copyright 1997-2012 Jonathan Stanton <jonathan at spread.org>
- *
- */
-
-#ifndef OBJECTS_LOCAL_H
-#define OBJECTS_LOCAL_H
-
-/* Object types
- *
- * Object types must start with FIRST_APPLICATION_OBJECT_TYPE and go up.
- */
-
-/* Sample declartion of object number
- * first_val = (FIRST_APPLICATION_OBJECT_TYPE + 1)
-#define MY_FIRST_OBJ = first_val
-*/
-
-
-/* Highest valid object number is defined in objects.h as UNKNOWN_OBJ */
-
-#endif /* OBJECTS_LOCAL_H */
-
-
Deleted: libspreadutil/trunk/include/sp_events.h
===================================================================
--- libspreadutil/trunk/include/sp_events.h 2012-03-05 19:32:04 UTC (rev 482)
+++ libspreadutil/trunk/include/sp_events.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -1,100 +0,0 @@
-/*
- * The Spread Toolkit.
- *
- * The contents of this file are subject to the Spread Open-Source
- * License, Version 1.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.spread.org/license/
- *
- * or in the file ``license.txt'' found in this distribution.
- *
- * Software distributed under the License is distributed on an AS IS basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Creators of Spread are:
- * Yair Amir, Michal Miskin-Amir, Jonathan Stanton, John Schultz.
- *
- * Copyright (C) 1993-2009 Spread Concepts LLC <info at spreadconcepts.com>
- *
- * All Rights Reserved.
- *
- * Major Contributor(s):
- * ---------------
- * Ryan Caudy rcaudy at gmail.com - contributions to process groups.
- * Claudiu Danilov claudiu at acm.org - scalable wide area support.
- * Cristina Nita-Rotaru crisn at cs.purdue.edu - group communication security.
- * Theo Schlossnagle jesus at omniti.com - Perl, autoconf, old skiplist.
- * Dan Schoenblum dansch at cnds.jhu.edu - Java interface.
- *
- */
-
-
-
-#ifndef INC_SP_EVENTS
-#define INC_SP_EVENTS
-
-/* Raise this number AND RECOMPILE events.c to handle more active FD's.
- * This number limits the number of connections that
- * can be handled.
- */
-#define MAX_FD_EVENTS 2000
-
-#define NUM_PRIORITY 3
-
-#define LOW_PRIORITY 0
-#define MEDIUM_PRIORITY 1
-#define HIGH_PRIORITY 2
-
-#define NUM_FDTYPES 3
-
-#define READ_FD 0
-#define WRITE_FD 1
-#define EXCEPT_FD 2
-
-
-typedef struct dummy_time {
- long sec;
- long usec;
-} sp_time;
-
-#ifndef NULL
-#define NULL (void *)0
-#endif
-
-/* Event routines */
-
-int E_init(void);
-sp_time E_get_time(void);
-sp_time E_sub_time( sp_time t, sp_time delta_t );
-sp_time E_add_time( sp_time t, sp_time delta_t );
-/* if t1 > t2 then returns 1;
- if t1 < t2 then returns -1;
- if t1 == t2 then returns 0; */
-int E_compare_time( sp_time t1, sp_time t2 );
-int E_queue( void (* func)( int code, void *data ), int code, void *data,
- sp_time delta_time );
-int E_in_queue( void (* func)( int code, void *data ), int code,
- void *data );
-/* Note: This does not dispose/free the data pointed at by the void
- *data pointer */
-int E_dequeue( void (* func)( int code, void *data ), int code,
- void *data );
-void E_delay( sp_time t );
-
-int E_attach_fd( int fd, int fd_type,
- void (* func)( int fd, int code, void *data), int code,
- void *data, int priority );
-int E_detach_fd( int fd, int fd_type );
-int E_set_active_threshold( int priority );
-int E_activate_fd( int fd, int fd_type );
-int E_deactivate_fd( int fd, int fd_type );
-int E_num_active( int priority );
-
-void E_handle_events(void);
-void E_exit_events(void);
-
-#endif /* INC_SP_EVENTS */
Copied: libspreadutil/trunk/include/spu_alarm.h (from rev 482, libspreadutil/trunk/include/alarm.h)
===================================================================
--- libspreadutil/trunk/include/spu_alarm.h (rev 0)
+++ libspreadutil/trunk/include/spu_alarm.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -0,0 +1,117 @@
+/*
+ * The Spread Toolkit.
+ *
+ * The contents of this file are subject to the Spread Open-Source
+ * License, Version 1.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.spread.org/license/
+ *
+ * or in the file ``license.txt'' found in this distribution.
+ *
+ * Software distributed under the License is distributed on an AS IS basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Creators of Spread are:
+ * Yair Amir, Michal Miskin-Amir, Jonathan Stanton, John Schultz.
+ *
+ * Copyright (C) 1993-2009 Spread Concepts LLC <info at spreadconcepts.com>
+ *
+ * All Rights Reserved.
+ *
+ * Major Contributor(s):
+ * ---------------
+ * Ryan Caudy rcaudy at gmail.com - contributions to process groups.
+ * Claudiu Danilov claudiu at acm.org - scalable wide area support.
+ * Cristina Nita-Rotaru crisn at cs.purdue.edu - group communication security.
+ * Theo Schlossnagle jesus at omniti.com - Perl, autoconf, old skiplist.
+ * Dan Schoenblum dansch at cnds.jhu.edu - Java interface.
+ *
+ */
+
+
+#ifndef INC_ALARM
+#define INC_ALARM
+
+#include <stdio.h>
+#include "system.h"
+
+/* Type for Alarm realtime handler functions */
+typedef int (alarm_realtime_handler)( int16, int32, char *, size_t, char *, size_t);
+
+
+/* This includes the custom types for each project */
+#include "alarm_types.h"
+
+/* These are always defined for any project using Alarm */
+#define ALL 0xffffffff
+#define NONE 0x00000000
+
+/* Priority levels */
+#define SPLOG_DEBUG 0x0001 /* Program information that is only useful for debugging.
+ Will normally be turned off in operation. */
+#define SPLOG_INFO 0x0002 /* Program reports information that may be useful for
+ performance tuning, analysis, or operational checks. */
+#define SPLOG_WARNING 0x0003 /* Program encountered a situation that is not erroneous,
+ but is uncommon and may indicate an error. */
+#define SPLOG_ERROR 0x0004 /* Program encountered an error that can be recovered from. */
+#define SPLOG_CRITICAL 0x0005 /* Program will not exit, but has only temporarily recovered
+ and without help may soon fail. */
+#define SPLOG_FATAL 0x0006 /* Program will exit() or abort(). */
+
+#define SPLOG_PRINT 0x0007 /* Program should always print this information */
+
+#define SPLOG_PRIORITY_FIELDS 0x000f
+
+/* Feature Flags for Priority field */
+#define SPLOG_NODATE 0x0010 /* Program should omit the datestamp at the beginning of the message. */
+#define SPLOG_REALTIME 0x0020 /* This message should be disseminated through the realtime handler if possible.
+ This is used for alerts you want sent now and not just logged (they are also logged). */
+#define SPLOG_PRIORITY_FLAGS 0x00f0
+
+#ifdef HAVE_GOOD_VARGS
+void Alarmp( int16 priority, int32 type, char *message, ...);
+void Alarm( int32 type, char *message, ...);
+
+#else
+void Alarm();
+#endif
+
+void Alarm_set_output(char *filename);
+
+void Alarm_enable_timestamp(const char *format);
+void Alarm_enable_timestamp_high_res(const char *format);
+void Alarm_disable_timestamp(void);
+
+void Alarm_set_types(int32 mask);
+void Alarm_clear_types(int32 mask);
+int32 Alarm_get_types(void);
+
+void Alarm_set_priority(int16 priority);
+int16 Alarm_get_priority(void);
+
+void Alarm_set_realtime_print_handler( alarm_realtime_handler *output_message_function );
+
+void Alarm_set_interactive(void);
+int Alarm_get_interactive(void);
+
+#define IPF "%d.%d.%d.%d"
+
+#define IP1(address) ( (int) ( ( (address) >> 24 ) & 0xFF ) )
+#define IP2(address) ( (int) ( ( (address) >> 16 ) & 0xFF ) )
+#define IP3(address) ( (int) ( ( (address) >> 8 ) & 0xFF ) )
+#define IP4(address) ( (int) ( ( (address) >> 0 ) & 0xFF ) )
+
+#define IP(address) IP1(address), IP2(address), IP3(address), IP4(address)
+
+#define IP1_NET(address) ( (int) ( (unsigned char*) &(address) )[0] )
+#define IP2_NET(address) ( (int) ( (unsigned char*) &(address) )[1] )
+#define IP3_NET(address) ( (int) ( (unsigned char*) &(address) )[2] )
+#define IP4_NET(address) ( (int) ( (unsigned char*) &(address) )[3] )
+
+#define IP_NET(address) IP1_NET(address), IP2_NET(address), IP3_NET(address), IP4_NET(address)
+
+#endif /* INC_ALARM */
Copied: libspreadutil/trunk/include/spu_alarm_types.h (from rev 482, libspreadutil/trunk/include/alarm_types.h)
===================================================================
--- libspreadutil/trunk/include/spu_alarm_types.h (rev 0)
+++ libspreadutil/trunk/include/spu_alarm_types.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -0,0 +1,82 @@
+/*
+ * The Spread Toolkit.
+ *
+ * The contents of this file are subject to the Spread Open-Source
+ * License, Version 1.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.spread.org/license/
+ *
+ * or in the file ``license.txt'' found in this distribution.
+ *
+ * Software distributed under the License is distributed on an AS IS basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Creators of Spread are:
+ * Yair Amir, Michal Miskin-Amir, Jonathan Stanton, John Schultz.
+ *
+ * Copyright (C) 1993-2006 Spread Concepts LLC <info at spreadconcepts.com>
+ *
+ * All Rights Reserved.
+ *
+ * Major Contributor(s):
+ * ---------------
+ * Ryan Caudy rcaudy at gmail.com - contributions to process groups.
+ * Cristina Nita-Rotaru crisn at cs.purdue.edu - group communication security.
+ * Theo Schlossnagle jesus at omniti.com - Perl, autoconf, old skiplist.
+ * Dan Schoenblum dansch at cnds.jhu.edu - Java interface.
+ *
+ *
+ * This file is also licensed by Spread Concepts LLC under the Spines
+ * Open-Source License, version 1.0. You may obtain a copy of the
+ * Spines Open-Source License, version 1.0 at:
+ *
+ * http://www.spines.org/LICENSE.txt
+ *
+ * or in the file ``LICENSE.txt'' found in this distribution.
+ *
+ */
+
+
+#ifndef INC_ALARM_TYPES
+#define INC_ALARM_TYPES
+
+/* List of type values that are valid for this project.
+ * This list can be customized for each user of Alarm library.
+ * The defines must be consistent amoung all code that will be compiled together,
+ * but can be different for different executables
+ */
+#define DEBUG 0x00000001
+#define EXIT 0x00000002
+#define PRINT 0x00000004
+/* new type to replace general prints */
+#define SYSTEM 0x00000004
+
+#define DATA_LINK 0x00000010
+#define NETWORK 0x00000020
+#define PROTOCOL 0x00000040
+#define SESSION 0x00000080
+//#define CONF 0x00000100 Clash with an OpenSSL definition
+#define MEMB 0x00000200
+#define FLOW_CONTROL 0x00000400
+#define STATUS 0x00000800
+#define EVENTS 0x00001000
+#define GROUPS 0x00002000
+
+#define HOP 0x00004000
+#define OBJ_HANDLER 0x00008000
+#define MEMORY 0x00010000
+#define ROUTE 0x00020000
+#define QOS 0x00040000
+#define RING 0x00080000
+#define TCP_HOP 0x00100000
+
+#define SKIPLIST 0x00200000
+#define ACM 0x00400000
+
+#define SECURITY 0x00800000
+
+#endif /* INC_ALARM_TYPES */
Copied: libspreadutil/trunk/include/spu_data_link.h (from rev 480, libspreadutil/trunk/include/data_link.h)
===================================================================
--- libspreadutil/trunk/include/spu_data_link.h (rev 0)
+++ libspreadutil/trunk/include/spu_data_link.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -0,0 +1,58 @@
+/*
+ * The Spread Toolkit.
+ *
+ * The contents of this file are subject to the Spread Open-Source
+ * License, Version 1.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.spread.org/license/
+ *
+ * or in the file ``license.txt'' found in this distribution.
+ *
+ * Software distributed under the License is distributed on an AS IS basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Creators of Spread are:
+ * Yair Amir, Michal Miskin-Amir, Jonathan Stanton, John Schultz.
+ *
+ * Copyright (C) 1993-2009 Spread Concepts LLC <info at spreadconcepts.com>
+ *
+ * All Rights Reserved.
+ *
+ * Major Contributor(s):
+ * ---------------
+ * Ryan Caudy rcaudy at gmail.com - contributions to process groups.
+ * Claudiu Danilov claudiu at acm.org - scalable wide area support.
+ * Cristina Nita-Rotaru crisn at cs.purdue.edu - group communication security.
+ * Theo Schlossnagle jesus at omniti.com - Perl, autoconf, old skiplist.
+ * Dan Schoenblum dansch at cnds.jhu.edu - Java interface.
+ *
+ */
+
+
+#ifndef INC_DATA_LINK
+#define INC_DATA_LINK
+
+#include "system.h"
+#include "scatter.h"
+
+#define MAX_PACKET_SIZE 1472 /*1472 = 1536-64 (of udp)*/
+
+#define SEND_CHANNEL 0x00000001
+#define RECV_CHANNEL 0x00000002
+#define NO_LOOP 0x00000004
+#define REUSE_ADDR 0x00000008
+
+#define IS_MCAST_ADDR(addr) ( ( (addr) & 0xF0000000 ) == 0xE0000000 )
+#define IS_MCAST_ADDR_NET(addr) ( ( (unsigned char*) &(addr) )[0] == 0xE0 )
+
+channel DL_init_channel( int32 channel_type, int16 port, int32 mcast_address, int32 interface_address );
+void DL_close_channel(channel chan);
+int DL_send( channel chan, int32 address, int16 port, sys_scatter *scat );
+int DL_recv( channel chan, sys_scatter *scat );
+int DL_recvfrom( channel chan, sys_scatter *scat, int *src_address, unsigned short *src_port );
+
+#endif /* INC_DATA_LINK */
Copied: libspreadutil/trunk/include/spu_events.h (from rev 474, libspreadutil/trunk/include/sp_events.h)
===================================================================
--- libspreadutil/trunk/include/spu_events.h (rev 0)
+++ libspreadutil/trunk/include/spu_events.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -0,0 +1,100 @@
+/*
+ * The Spread Toolkit.
+ *
+ * The contents of this file are subject to the Spread Open-Source
+ * License, Version 1.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.spread.org/license/
+ *
+ * or in the file ``license.txt'' found in this distribution.
+ *
+ * Software distributed under the License is distributed on an AS IS basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Creators of Spread are:
+ * Yair Amir, Michal Miskin-Amir, Jonathan Stanton, John Schultz.
+ *
+ * Copyright (C) 1993-2009 Spread Concepts LLC <info at spreadconcepts.com>
+ *
+ * All Rights Reserved.
+ *
+ * Major Contributor(s):
+ * ---------------
+ * Ryan Caudy rcaudy at gmail.com - contributions to process groups.
+ * Claudiu Danilov claudiu at acm.org - scalable wide area support.
+ * Cristina Nita-Rotaru crisn at cs.purdue.edu - group communication security.
+ * Theo Schlossnagle jesus at omniti.com - Perl, autoconf, old skiplist.
+ * Dan Schoenblum dansch at cnds.jhu.edu - Java interface.
+ *
+ */
+
+
+
+#ifndef INC_SP_EVENTS
+#define INC_SP_EVENTS
+
+/* Raise this number AND RECOMPILE events.c to handle more active FD's.
+ * This number limits the number of connections that
+ * can be handled.
+ */
+#define MAX_FD_EVENTS 2000
+
+#define NUM_PRIORITY 3
+
+#define LOW_PRIORITY 0
+#define MEDIUM_PRIORITY 1
+#define HIGH_PRIORITY 2
+
+#define NUM_FDTYPES 3
+
+#define READ_FD 0
+#define WRITE_FD 1
+#define EXCEPT_FD 2
+
+
+typedef struct dummy_time {
+ long sec;
+ long usec;
+} sp_time;
+
+#ifndef NULL
+#define NULL (void *)0
+#endif
+
+/* Event routines */
+
+int E_init(void);
+sp_time E_get_time(void);
+sp_time E_sub_time( sp_time t, sp_time delta_t );
+sp_time E_add_time( sp_time t, sp_time delta_t );
+/* if t1 > t2 then returns 1;
+ if t1 < t2 then returns -1;
+ if t1 == t2 then returns 0; */
+int E_compare_time( sp_time t1, sp_time t2 );
+int E_queue( void (* func)( int code, void *data ), int code, void *data,
+ sp_time delta_time );
+int E_in_queue( void (* func)( int code, void *data ), int code,
+ void *data );
+/* Note: This does not dispose/free the data pointed at by the void
+ *data pointer */
+int E_dequeue( void (* func)( int code, void *data ), int code,
+ void *data );
+void E_delay( sp_time t );
+
+int E_attach_fd( int fd, int fd_type,
+ void (* func)( int fd, int code, void *data), int code,
+ void *data, int priority );
+int E_detach_fd( int fd, int fd_type );
+int E_set_active_threshold( int priority );
+int E_activate_fd( int fd, int fd_type );
+int E_deactivate_fd( int fd, int fd_type );
+int E_num_active( int priority );
+
+void E_handle_events(void);
+void E_exit_events(void);
+
+#endif /* INC_SP_EVENTS */
Copied: libspreadutil/trunk/include/spu_memory.h (from rev 482, libspreadutil/trunk/include/memory.h)
===================================================================
--- libspreadutil/trunk/include/spu_memory.h (rev 0)
+++ libspreadutil/trunk/include/spu_memory.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -0,0 +1,175 @@
+/*
+ * The Spread Toolkit.
+ *
+ * The contents of this file are subject to the Spread Open-Source
+ * License, Version 1.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.spread.org/license/
+ *
+ * or in the file ``license.txt'' found in this distribution.
+ *
+ * Software distributed under the License is distributed on an AS IS basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Creators of Spread are:
+ * Yair Amir, Michal Miskin-Amir, Jonathan Stanton, John Schultz.
+ *
+ * Copyright (C) 1993-2009 Spread Concepts LLC <info at spreadconcepts.com>
+ *
+ * All Rights Reserved.
+ *
+ * Major Contributor(s):
+ * ---------------
+ * Ryan Caudy rcaudy at gmail.com - contributions to process groups.
+ * Claudiu Danilov claudiu at acm.org - scalable wide area support.
+ * Cristina Nita-Rotaru crisn at cs.purdue.edu - group communication security.
+ * Theo Schlossnagle jesus at omniti.com - Perl, autoconf, old skiplist.
+ * Dan Schoenblum dansch at cnds.jhu.edu - Java interface.
+ *
+ */
+
+
+#ifndef MEMORY_H
+#define MEMORY_H
+
+#include "system.h"
+
+/*******************************************************************************
+ * Special Object type used for
+ * NON-OBJECT Oriented allocates (traditional Malloc/free with arbitrary sizes)
+ * 0 is never a valid object type for any real object (they start at 1)
+ *******************************************************************************/
+#define BLOCK_OBJECT 0
+
+
+/************************************
+ * Function Declarations
+ ************************************/
+
+/* Input: valid object type, size of object, threshold/watermark value for this object,
+ * number of initial objects to create
+ * Output: error code
+ * Effects: registers type, sets watermark for type,creates initial memory buffers and updates global vars
+ * Should ONLY be called once per execution of the program, but must be called before any other
+ * memory management function is used on that object
+ */
+int Mem_init_object(int32u obj_type, int32u size, unsigned int threshold, unsigned int initial);
+
+/* This calls Mem_init_object and if any error results it EXIT's with a printed error */
+void Mem_init_object_abort( int32u obj_type, int32u size, unsigned int threshold, unsigned int initial );
+
+/* This initializes the status reporting of the memory module and should be called from
+ * status.c after the Group, Recod, and RefRecord objects are mem_init'ed.
+ * After this is called each object created by Mem_init_object() will automatically
+ * be added to the status reporting.
+ * This function is needed to avoid a double-dependency loop where memory needs status working when
+ * it starts, but status requires memory working for it to work.
+ */
+void Mem_init_status();
+/* Input: a valid type of object
+ * Output: a pointer to memory which will hold an object
+ * Effects: will only allocate an object from system if none exist in pool
+ */
+void * new(int32u obj_type);
+
+
+/* Input: a valid pointer to an object or block created by new or mem_alloc
+ * Output: none
+ * Effects: destroys the object and frees memory associated with it if necessary
+ */
+void dispose(void *object);
+
+
+/************************************************************************
+ * These functions are for reference count objects only.
+ * Basically they provide the same functionality as 'new' and 'dispose'
+ * only that they provide reference count functionality.
+ * Reference count functions can not be applied on non ref. count objects.
+ * and viceversa
+ ************************************************************************/
+
+/* Input: a valid type of object
+ * Output: a pointer to memory which will hold an object
+ * Effects: will only allocate an object from system if none exist in pool
+ * The allocated object will have reference counter initiated with 1
+ */
+void * new_ref_cnt(int32 obj_type);
+
+
+/* Input: a size of memory block desired
+ * Output: a pointer to memory which will hold the block
+ * Effects:
+ */
+void * Mem_alloc_ref_cnt(unsigned int length);
+
+/* Input: a valid pointer to a reference count object
+ * Output: the resulting reference count
+ * Effects: Increments the reference count of an object
+ */
+int inc_ref_cnt(void *object);
+
+
+/* Input: a valid pointer to a reference count object
+ * Output: the resulting reference count
+ * Effects: Decrements the reference count of an object.
+ * If the resulting reference count is 0, then the object is disposed
+ */
+int dec_ref_cnt(void *object);
+
+
+/* Input: a valid pointer to a reference count object
+ * Output: the reference count of the object
+ * Effects: Returns the reference count of an object.
+ */
+int get_ref_cnt(void *object);
+
+
+/***************************************************************************
+ * These two functions are ONLY needed for dynamically sized allocations
+ * like traditional malloc/free --NOT for object based allocations
+ ***************************************************************************/
+
+/* Input: a size of memory block desired
+ * Output: a pointer to memory which will hold the block
+ * Effects:
+ */
+void * Mem_alloc( unsigned int length);
+
+
+/* Input: a valid pointer to an object created with memalloc_object
+ * Output: a pointer to an object which is an identical copy of the object input
+ * Effects: same as memalloc_object
+ */
+void * Mem_copy(const void *object);
+
+/************************
+ * Query Functions
+ ************************/
+
+int Mem_valid_objtype(int32u objtype);
+
+/* Input: A valid pointer to an object/block created with new or mem_alloc
+ * Output: the obj_type of this block of memory
+ */
+int32u Mem_Obj_Type(const void *object);
+
+extern LOC_INLINE unsigned int Mem_total_bytes(void);
+extern LOC_INLINE unsigned int Mem_total_max_bytes(void);
+extern LOC_INLINE unsigned int Mem_total_inuse(void);
+extern LOC_INLINE unsigned int Mem_total_max_inuse(void);
+extern LOC_INLINE unsigned int Mem_total_obj(void);
+extern LOC_INLINE unsigned int Mem_total_max_obj(void);
+extern LOC_INLINE unsigned int Mem_bytes(int32u objtype);
+extern LOC_INLINE unsigned int Mem_max_bytes(int32u objtype);
+extern LOC_INLINE unsigned int Mem_obj_in_pool(int32u objtype);
+extern LOC_INLINE unsigned int Mem_obj_in_app(int32u objtype);
+extern LOC_INLINE unsigned int Mem_max_in_app(int32u objtype);
+extern LOC_INLINE unsigned int Mem_obj_total(int32u objtype);
+extern LOC_INLINE unsigned int Mem_max_obj(int32u objtype);
+
+#endif /* MEMORY_H */
+
Copied: libspreadutil/trunk/include/spu_objects.h (from rev 481, libspreadutil/trunk/include/objects.h)
===================================================================
--- libspreadutil/trunk/include/spu_objects.h (rev 0)
+++ libspreadutil/trunk/include/spu_objects.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -0,0 +1,73 @@
+/*
+ * The Spread Toolkit.
+ *
+ * The contents of this file are subject to the Spread Open-Source
+ * License, Version 1.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.spread.org/license/
+ *
+ * or in the file ``license.txt'' found in this distribution.
+ *
+ * Software distributed under the License is distributed on an AS IS basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Creators of Spread are:
+ * Yair Amir, Michal Miskin-Amir, Jonathan Stanton, John Schultz.
+ *
+ * Copyright (C) 1993-2009 Spread Concepts LLC <info at spreadconcepts.com>
+ *
+ * All Rights Reserved.
+ *
+ * Major Contributor(s):
+ * ---------------
+ * Ryan Caudy rcaudy at gmail.com - contributions to process groups.
+ * Claudiu Danilov claudiu at acm.org - scalable wide area support.
+ * Cristina Nita-Rotaru crisn at cs.purdue.edu - group communication security.
+ * Theo Schlossnagle jesus at omniti.com - Perl, autoconf, old skiplist.
+ * Dan Schoenblum dansch at cnds.jhu.edu - Java interface.
+ *
+ */
+
+
+/* objects.h
+ * main declarations of objects
+ * Copyright 1997-2012 Jonathan Stanton <jonathan at spread.org>
+ *
+ */
+
+#ifndef OBJECTS_H
+#define OBJECTS_H
+
+#define MAX_OBJECTS 200
+#define MAX_OBJ_USED 56
+
+/* Object types
+ *
+ * Object types must start with 1 and go up. 0 is reserved
+ * The implementation of the spread-util library uses the following object ids
+ * so applications must start with higher numbers.
+ */
+
+#define TIME_EVENT 1
+
+#define FIRST_APPLICATION_OBJECT_TYPE 2
+
+#include "objects_local.h"
+
+/* Special objects */
+
+/* This represents an object of undertermined or
+ * variable type. Can only be used when appropriate.
+ * i.e. when internal structure of object is not accessed.
+ * This is mainly used with queues
+ */
+#define UNKNOWN_OBJ (MAX_OBJ_USED -1)
+
+
+#endif /* OBJECTS_H */
+
+
Copied: libspreadutil/trunk/include/spu_objects_local.h (from rev 482, libspreadutil/trunk/include/objects_local.h)
===================================================================
--- libspreadutil/trunk/include/spu_objects_local.h (rev 0)
+++ libspreadutil/trunk/include/spu_objects_local.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -0,0 +1,60 @@
+/*
+ * The Spread Toolkit.
+ *
+ * The contents of this file are subject to the Spread Open-Source
+ * License, Version 1.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.spread.org/license/
+ *
+ * or in the file ``license.txt'' found in this distribution.
+ *
+ * Software distributed under the License is distributed on an AS IS basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Creators of Spread are:
+ * Yair Amir, Michal Miskin-Amir, Jonathan Stanton, John Schultz.
+ *
+ * Copyright (C) 1993-2009 Spread Concepts LLC <info at spreadconcepts.com>
+ *
+ * All Rights Reserved.
+ *
+ * Major Contributor(s):
+ * ---------------
+ * Ryan Caudy rcaudy at gmail.com - contributions to process groups.
+ * Claudiu Danilov claudiu at acm.org - scalable wide area support.
+ * Cristina Nita-Rotaru crisn at cs.purdue.edu - group communication security.
+ * Theo Schlossnagle jesus at omniti.com - Perl, autoconf, old skiplist.
+ * Dan Schoenblum dansch at cnds.jhu.edu - Java interface.
+ *
+ */
+
+
+/* objects.h
+ * main declarations of objects
+ * Copyright 1997-2012 Jonathan Stanton <jonathan at spread.org>
+ *
+ */
+
+#ifndef OBJECTS_LOCAL_H
+#define OBJECTS_LOCAL_H
+
+/* Object types
+ *
+ * Object types must start with FIRST_APPLICATION_OBJECT_TYPE and go up.
+ */
+
+/* Sample declartion of object number
+ * first_val = (FIRST_APPLICATION_OBJECT_TYPE + 1)
+#define MY_FIRST_OBJ = first_val
+*/
+
+
+/* Highest valid object number is defined in objects.h as UNKNOWN_OBJ */
+
+#endif /* OBJECTS_LOCAL_H */
+
+
Copied: libspreadutil/trunk/include/spu_system_defs.h (from rev 480, libspreadutil/trunk/include/system_defs.h)
===================================================================
--- libspreadutil/trunk/include/spu_system_defs.h (rev 0)
+++ libspreadutil/trunk/include/spu_system_defs.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -0,0 +1,17 @@
+
+#ifndef SYSTEM_DEFS_H
+#define SYSTEM_DEFS_H
+
+
+#ifndef SPU_ARCH_PC_WIN95
+/* For non Windows systems, use standard headers and types */
+#include "system_defs_autoconf.h"
+
+#else
+/* For Windows systems, use specified types and definitions */
+#include "system_defs_windows.h"
+
+#endif /* SPU_ARCH_PC_WIN95 */
+
+
+#endif /* SYSTEM_DEFS_H */
Copied: libspreadutil/trunk/include/spu_system_defs_autoconf.h (from rev 480, libspreadutil/trunk/include/system_defs_autoconf.h)
===================================================================
--- libspreadutil/trunk/include/spu_system_defs_autoconf.h (rev 0)
+++ libspreadutil/trunk/include/spu_system_defs_autoconf.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -0,0 +1,128 @@
+#ifndef SYSTEM_DEFS_AUTOCONF_H
+#define SYSTEM_DEFS_AUTOCONF_H
+
+#ifndef SYSTEM_DEFS_H
+#error "system_defs_autoconf.h should never be directly included. Include system_defs.h."
+#endif
+
+#define LOC_INLINE __inline__
+
+#ifdef SPU_HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/param.h>
+
+#ifdef SPU_HAVE_SYS_BITYPES_H
+# include <sys/bitypes.h>
+#endif
+
+#ifdef SPU_HAVE_LIMITS_H
+# include <limits.h>
+#endif
+
+#ifndef SPU_HAVE_U_INT
+typedef unsigned int u_int;
+#endif
+
+#ifndef SPU_HAVE_INTXX_T
+# if (SPU_SIZEOF_CHAR == 1)
+typedef char int8_t;
+# else
+# error "8 bit int type not found."
+# endif
+# if (SPU_SIZEOF_SHORT_INT == 2)
+typedef short int int16_t;
+# else
+# error "16 bit int type not found."
+# endif
+# if (SPU_SIZEOF_INT == 4)
+typedef int int32_t;
+# else
+# error "32 bit int type not found."
+# endif
+#endif
+
+/* If sys/types.h does not supply u_intXX_t, supply them ourselves */
+#ifndef SPU_HAVE_U_INTXX_T
+# ifdef SPU_HAVE_UINTXX_T
+typedef uint8_t u_int8_t;
+typedef uint16_t u_int16_t;
+typedef uint32_t u_int32_t;
+# define SPU_HAVE_U_INTXX_T 1
+# else
+# if (SPU_SIZEOF_CHAR == 1)
+typedef unsigned char u_int8_t;
+# else
+# error "8 bit int type not found."
+# endif
+# if (SPU_SIZEOF_SHORT_INT == 2)
+typedef unsigned short int u_int16_t;
+# else
+# error "16 bit int type not found."
+# endif
+# if (SPU_SIZEOF_INT == 4)
+typedef unsigned int u_int32_t;
+# else
+# error "32 bit int type not found."
+# endif
+# endif
+#endif
+
+/* 64-bit types */
+#ifndef SPU_HAVE_INT64_T
+# if (SPU_SIZEOF_LONG_INT == 8)
+typedef long int int64_t;
+# define SPU_HAVE_INT64_T 1
+# else
+# if (SPU_SIZEOF_LONG_LONG_INT == 8)
+typedef long long int int64_t;
+# define SPU_HAVE_INT64_T 1
+# define SPU_HAVE_LONG_LONG_INT
+# endif
+# endif
+#endif
+#ifndef SPU_HAVE_U_INT64_T
+# if (SPU_SIZEOF_LONG_INT == 8)
+typedef unsigned long int u_int64_t;
+# define SPU_HAVE_U_INT64_T 1
+# else
+# if (SPU_SIZEOF_LONG_LONG_INT == 8)
+typedef unsigned long long int u_int64_t;
+# define SPU_HAVE_U_INT64_T 1
+# endif
+# endif
+#endif
+
+
+#ifndef byte
+#define byte u_int8_t
+#endif
+
+#ifndef int16
+#define int16 int16_t
+#endif
+
+#ifndef int16u
+#define int16u u_int16_t
+#endif
+
+#ifndef int32
+#define int32 int32_t
+#endif
+
+#ifndef int32u
+#define int32u u_int32_t
+#endif
+
+#ifdef UIO_MAXIOV
+#define SPU_ARCH_SCATTER_SIZE UIO_MAXIOV
+#else
+#define SPU_ARCH_SCATTER_SIZE 1024
+#endif
+
+
+
+#endif /* SYSTEM_DEFS_AUTOCONF_H */
Copied: libspreadutil/trunk/include/spu_system_defs_windows.h (from rev 478, libspreadutil/trunk/include/system_defs_windows.h)
===================================================================
--- libspreadutil/trunk/include/spu_system_defs_windows.h (rev 0)
+++ libspreadutil/trunk/include/spu_system_defs_windows.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -0,0 +1,44 @@
+#ifndef SYSTEM_DEFS_WINDOWS_H
+#define SYSTEM_DEFS_WINDOWS_H
+
+#ifndef SYSTEM_DEFS_H
+#error "system_defs_windows.h should never be directly included. Include system_defs.h."
+#endif
+
+#define LOC_INLINE __inline__
+
+#ifndef int16
+#define int16 short
+#endif
+
+#ifndef int16u
+#define int16u unsigned short
+#endif
+
+#ifndef int32
+#define int32 int
+#endif
+
+#ifndef int32u
+#define int32u unsigned int
+#endif
+
+#ifndef UINT32_MAX
+#define UINT32_MAX UINT_MAX
+#endif
+#ifndef INT32_MAX
+#define INT32_MAX INT_MAX
+#endif
+
+#ifndef int64_t
+#define int64_t __int64
+#endif
+
+#ifdef MSG_MAXIOVLEN
+#define SPU_ARCH_SCATTER_SIZE MSG_MAXIOVLEN
+#else
+#define SPU_ARCH_SCATTER_SIZE 64
+#endif
+
+
+#endif /* SYSTEM_DEFS_WINDOWS_H */
Deleted: libspreadutil/trunk/include/system_defs.h
===================================================================
--- libspreadutil/trunk/include/system_defs.h 2012-03-05 19:32:04 UTC (rev 482)
+++ libspreadutil/trunk/include/system_defs.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -1,17 +0,0 @@
-
-#ifndef SYSTEM_DEFS_H
-#define SYSTEM_DEFS_H
-
-
-#ifndef SPU_ARCH_PC_WIN95
-/* For non Windows systems, use standard headers and types */
-#include "system_defs_autoconf.h"
-
-#else
-/* For Windows systems, use specified types and definitions */
-#include "system_defs_windows.h"
-
-#endif /* SPU_ARCH_PC_WIN95 */
-
-
-#endif /* SYSTEM_DEFS_H */
Deleted: libspreadutil/trunk/include/system_defs_autoconf.h
===================================================================
--- libspreadutil/trunk/include/system_defs_autoconf.h 2012-03-05 19:32:04 UTC (rev 482)
+++ libspreadutil/trunk/include/system_defs_autoconf.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -1,128 +0,0 @@
-#ifndef SYSTEM_DEFS_AUTOCONF_H
-#define SYSTEM_DEFS_AUTOCONF_H
-
-#ifndef SYSTEM_DEFS_H
-#error "system_defs_autoconf.h should never be directly included. Include system_defs.h."
-#endif
-
-#define LOC_INLINE __inline__
-
-#ifdef SPU_HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/param.h>
-
-#ifdef SPU_HAVE_SYS_BITYPES_H
-# include <sys/bitypes.h>
-#endif
-
-#ifdef SPU_HAVE_LIMITS_H
-# include <limits.h>
-#endif
-
-#ifndef SPU_HAVE_U_INT
-typedef unsigned int u_int;
-#endif
-
-#ifndef SPU_HAVE_INTXX_T
-# if (SPU_SIZEOF_CHAR == 1)
-typedef char int8_t;
-# else
-# error "8 bit int type not found."
-# endif
-# if (SPU_SIZEOF_SHORT_INT == 2)
-typedef short int int16_t;
-# else
-# error "16 bit int type not found."
-# endif
-# if (SPU_SIZEOF_INT == 4)
-typedef int int32_t;
-# else
-# error "32 bit int type not found."
-# endif
-#endif
-
-/* If sys/types.h does not supply u_intXX_t, supply them ourselves */
-#ifndef SPU_HAVE_U_INTXX_T
-# ifdef SPU_HAVE_UINTXX_T
-typedef uint8_t u_int8_t;
-typedef uint16_t u_int16_t;
-typedef uint32_t u_int32_t;
-# define SPU_HAVE_U_INTXX_T 1
-# else
-# if (SPU_SIZEOF_CHAR == 1)
-typedef unsigned char u_int8_t;
-# else
-# error "8 bit int type not found."
-# endif
-# if (SPU_SIZEOF_SHORT_INT == 2)
-typedef unsigned short int u_int16_t;
-# else
-# error "16 bit int type not found."
-# endif
-# if (SPU_SIZEOF_INT == 4)
-typedef unsigned int u_int32_t;
-# else
-# error "32 bit int type not found."
-# endif
-# endif
-#endif
-
-/* 64-bit types */
-#ifndef SPU_HAVE_INT64_T
-# if (SPU_SIZEOF_LONG_INT == 8)
-typedef long int int64_t;
-# define SPU_HAVE_INT64_T 1
-# else
-# if (SPU_SIZEOF_LONG_LONG_INT == 8)
-typedef long long int int64_t;
-# define SPU_HAVE_INT64_T 1
-# define SPU_HAVE_LONG_LONG_INT
-# endif
-# endif
-#endif
-#ifndef SPU_HAVE_U_INT64_T
-# if (SPU_SIZEOF_LONG_INT == 8)
-typedef unsigned long int u_int64_t;
-# define SPU_HAVE_U_INT64_T 1
-# else
-# if (SPU_SIZEOF_LONG_LONG_INT == 8)
-typedef unsigned long long int u_int64_t;
-# define SPU_HAVE_U_INT64_T 1
-# endif
-# endif
-#endif
-
-
-#ifndef byte
-#define byte u_int8_t
-#endif
-
-#ifndef int16
-#define int16 int16_t
-#endif
-
-#ifndef int16u
-#define int16u u_int16_t
-#endif
-
-#ifndef int32
-#define int32 int32_t
-#endif
-
-#ifndef int32u
-#define int32u u_int32_t
-#endif
-
-#ifdef UIO_MAXIOV
-#define SPU_ARCH_SCATTER_SIZE UIO_MAXIOV
-#else
-#define SPU_ARCH_SCATTER_SIZE 1024
-#endif
-
-
-
-#endif /* SYSTEM_DEFS_AUTOCONF_H */
Deleted: libspreadutil/trunk/include/system_defs_windows.h
===================================================================
--- libspreadutil/trunk/include/system_defs_windows.h 2012-03-05 19:32:04 UTC (rev 482)
+++ libspreadutil/trunk/include/system_defs_windows.h 2012-03-05 19:36:45 UTC (rev 483)
@@ -1,44 +0,0 @@
-#ifndef SYSTEM_DEFS_WINDOWS_H
-#define SYSTEM_DEFS_WINDOWS_H
-
-#ifndef SYSTEM_DEFS_H
-#error "system_defs_windows.h should never be directly included. Include system_defs.h."
-#endif
-
-#define LOC_INLINE __inline__
-
-#ifndef int16
-#define int16 short
-#endif
-
-#ifndef int16u
-#define int16u unsigned short
-#endif
-
-#ifndef int32
-#define int32 int
-#endif
-
-#ifndef int32u
-#define int32u unsigned int
-#endif
-
-#ifndef UINT32_MAX
-#define UINT32_MAX UINT_MAX
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX INT_MAX
-#endif
-
-#ifndef int64_t
-#define int64_t __int64
-#endif
-
-#ifdef MSG_MAXIOVLEN
-#define SPU_ARCH_SCATTER_SIZE MSG_MAXIOVLEN
-#else
-#define SPU_ARCH_SCATTER_SIZE 64
-#endif
-
-
-#endif /* SYSTEM_DEFS_WINDOWS_H */
Modified: libspreadutil/trunk/src/alarm.c
===================================================================
--- libspreadutil/trunk/src/alarm.c 2012-03-05 19:32:04 UTC (rev 482)
+++ libspreadutil/trunk/src/alarm.c 2012-03-05 19:36:45 UTC (rev 483)
@@ -52,8 +52,8 @@
# include <stdarg.h>
#endif
-#include "alarm.h"
-#include "sp_events.h"
+#include "spu_alarm.h"
+#include "spu_events.h"
#define MAX_ALARM_MESSAGE_BUF 256
Modified: libspreadutil/trunk/src/data_link.c
===================================================================
--- libspreadutil/trunk/src/data_link.c 2012-03-05 19:32:04 UTC (rev 482)
+++ libspreadutil/trunk/src/data_link.c 2012-03-05 19:36:45 UTC (rev 483)
@@ -56,9 +56,9 @@
#include <string.h>
#include <assert.h>
-#include "data_link.h"
-#include "alarm.h"
-#include "sp_events.h" /* for sp_time */
+#include "spu_data_link.h"
+#include "spu_alarm.h"
+#include "spu_events.h" /* for sp_time */
channel DL_init_channel( int32 channel_type, int16 port, int32 mcast_address, int32 interface_address )
Modified: libspreadutil/trunk/src/events.c
===================================================================
--- libspreadutil/trunk/src/events.c 2012-03-05 19:32:04 UTC (rev 482)
+++ libspreadutil/trunk/src/events.c 2012-03-05 19:36:45 UTC (rev 483)
@@ -63,10 +63,10 @@
#endif /* ARCH_PC_WIN95 */
#include <string.h>
-#include "sp_events.h"
-#include "objects.h" /* For memory */
-#include "memory.h" /* for memory */
-#include "alarm.h"
+#include "spu_events.h"
+#include "spu_objects.h" /* For memory */
+#include "spu_memory.h" /* for memory */
+#include "spu_alarm.h"
typedef struct dummy_t_event {
sp_time t;
Modified: libspreadutil/trunk/src/memory.c
===================================================================
--- libspreadutil/trunk/src/memory.c 2012-03-05 19:32:04 UTC (rev 482)
+++ libspreadutil/trunk/src/memory.c 2012-03-05 19:36:45 UTC (rev 483)
@@ -43,9 +43,9 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include "memory.h"
-#include "alarm.h"
-#include "objects.h"
+#include "spu_memory.h"
+#include "spu_alarm.h"
+#include "spu_objects.h"
#define NO_REF_CNT -1
#define MAX_MEM_OBJECTS 200
More information about the Spread-cvs
mailing list