# SFBReflex.h

Go to the documentation of this file.

    00001 /*                                              -*- mode:C++; fill-column:100 -*-
    00002   SFBReflex.h - Main reflex-level operational control
    00003   Copyright (C) 2008 The Regents of the University of New Mexico.  All rights reserved.
    00004
    00005   This library is free software; you can redistribute it and/or
    00006   modify it under the terms of the GNU Lesser General Public
    00007   License as published by the Free Software Foundation; either
    00008   version 2.1 of the License, or (at your option) any later version.
    00009
    00010   This library is distributed in the hope that it will be useful,
    00011   but WITHOUT ANY WARRANTY; without even the implied warranty of
    00012   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00013   Lesser General Public License for more details.
    00014
    00015   You should have received a copy of the GNU General Public License
    00016   along with this library; if not, write to the Free Software
    00017   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
    00018   USA
    00019 */
    00020
    00028 #ifndef SFBREFLEX_H_
    00029 #define SFBREFLEX_H_
    00030
    00031 #include "SFBTypes.h"
    00032
    00033 #ifdef __cplusplus
    00034 extern "C" {
    00035 #endif
    00036
    00037 /* Reflex library operational flags */
    00038
    00039 #define RF_DIE_PACKET_ERROR    0x00000001
    00040 #define RF_RED_BOOT_CODE_FLOW  0x00000002
    00041 #define RF_NO_CODE_FLOW        0x00000004
    00042 #define RF_OKAY_NEW_GUY        0x00000008
    00043 #define RF_KARMIC_REBIRTH      0x00000010
    00044 #define RF_LESS_EEPROM         0x00000020
    00045 #define RF_DIE_ALOUD           0x00000040
    00046 #define RF_DIE_NESTED_DISPATCH 0x00000080
    00047 #define RF_DONT_FEED_DOG       0x00000100
    00048 #define RF_RESERVED09          0x00000200
    00049 #define RF_RESERVED10          0x00000400
    00050 #define RF_RESERVED11          0x00000800
    00051 #define RF_RESERVED12          0x00001000
    00052 #define RF_RESERVED13          0x00002000
    00053 #define RF_RESERVED14          0x00004000
    00054 #define RF_RESERVED15          0x00008000
    00055 #define RF_RESERVED16          0x00010000
    00056 #define RF_RESERVED17          0x00020000
    00057 #define RF_RESERVED18          0x00040000
    00058 #define RF_RESERVED19          0x00080000
    00059 #define RF_RESERVED20          0x00100000
    00060 #define RF_RESERVED21          0x00200000
    00061 #define RF_RESERVED22          0x00400000
    00062 #define RF_RESERVED23          0x00800000
    00063 #define RF_RESERVED24          0x01000000
    00064 #define RF_RESERVED25          0x02000000
    00065 #define RF_RESERVED26          0x04000000
    00066 #define RF_RESERVED27          0x08000000
    00067 #define RF_DEBUG0              0x10000000
    00068 #define RF_DEBUG1              0x20000000
    00069 #define RF_DEBUG2              0x40000000
    00070 #define RF_DEBUG3              0x80000000
    00072 extern int reflex_maybe_dispatch(u32 deadline) ;
    00073 extern int reflex_dispatch(u32 deadline) ;
    00074
    00075 extern void reflex_startup_initialization() ;
    00076
    00077 extern u32 reflexLibraryFlags;
    00078 #define TEST_REFLEX_FLAGS(flags) ((reflexLibraryFlags&(flags))!=0)
    00081 #define SET_REFLEX_FLAGS(flags) (reflexLibraryFlags |= (flags))
    00084 #define CLEAR_REFLEX_FLAGS(flags) (reflexLibraryFlags &= ~(flags))
    00088 #ifdef __cplusplus
    00089 }
    00090 #endif
    00091
    00092 #endif /*SFBREFLEX_H_*/