[Tinyos-contrib-commits]
CVS: tinyos-1.x/contrib/wustl/apps/Agilla/opcodes
OPfindMatch.nc, NONE, 1.1 OPfindMatchM.nc, NONE,
1.1 AgillaOpcode.nc, 1.1, 1.2 AgillaOpcodeM.nc, 1.1,
1.2 OPadd.nc, 1.2, 1.3 OPaddM.nc, 1.3, 1.4 OPaddr.nc, 1.1,
1.2 OPaddrM.nc, 1.1, 1.2 OPaid.nc, 1.1, 1.2 OPaidM.nc, 1.1,
1.2 OPceqtype.nc, 1.2, 1.3 OPceqtypeM.nc, 1.2, 1.3 OPcisnbr.nc,
1.4, 1.5 OPcisnbrM.nc, 1.2, 1.3 OPcistype.nc, 1.2,
1.3 OPcistypeM.nc, 1.2, 1.3 OPclear.nc, 1.2, 1.3 OPclearM.nc,
1.2, 1.3 OPclearvar.nc, 1.2, 1.3 OPclearvarM.nc, 1.2,
1.3 OPcompare.nc, 1.2, 1.3 OPcompareM.nc, 1.3, 1.4 OPcopy.nc,
1.1, 1.2 OPcopyM.nc, 1.1, 1.2 OPcpull.nc, 1.2, 1.3 OPcpullM.nc,
1.1, 1.2 OPcpush.nc, 1.1, 1.2 OPcpushM.nc, 1.1, 1.2 OPdec.nc,
1.2, 1.3 OPdecM.nc, 1.2, 1.3 OPdepth.nc, 1.1, 1.2 OPdepthM.nc,
1.1, 1.2 OPdesc.nc, 1.2, 1.3 OPdescM.nc, 1.2,
1.3 OPdirectory.nc, 1.1, 1.2 OPdirectoryM.nc, 1.2,
1.3 OPdist.nc, 1.3, 1.4 OPdistM.nc, 1.4, 1.5 OPdiv.nc, 1.2,
1.3 OPdivM.nc, 1.2, 1.3 OPegetsetvar6.nc, 1.2,
1.3 OPegetsetvar6M.nc, 1.1, 1.2 OPerr.nc, 1.3, 1.4 OPerrM.nc,
1.2, 1.3 OPgetAgents.nc, 1.4, 1.5 OPgetAgentsCM.nc, 1.2,
1.3 OPgetAgentsM.nc, 1.7, 1.8 OPgetClosestAgent.nc, 1.5,
1.6 OPgetClosestAgentCM.nc, 1.2, 1.3 OPgetClosestAgentM.nc,
1.11, 1.12 OPgetNumAgents.nc, 1.2, 1.3 OPgetNumAgentsCM.nc,
1.1, 1.2 OPgetNumAgentsM.nc, 1.6, 1.7 OPgetlocation.nc, 1.7,
1.8 OPgetlocationCM.nc, 1.3, 1.4 OPgetlocationM.nc, 1.11,
1.12 OPgetnbr.nc, 1.3, 1.4 OPgetnbrM.nc, 1.2,
1.3 OPgetsetvar4.nc, 1.2, 1.3 OPgetsetvar4M.nc, 1.2,
1.3 OPgetsetvars.nc, 1.2, 1.3 OPgetsetvarsM.nc, 1.3,
1.4 OPhalt.nc, 1.2, 1.3 OPhaltM.nc, 1.2, 1.3 OPhid.nc, 1.2,
1.3 OPhidM.nc, 1.2, 1.3 OPinc.nc, 1.2, 1.3 OPincM.nc, 1.2,
1.3 OPinv.nc, 1.2, 1.3 OPinvM.nc, 1.2, 1.3 OPjump.nc, 1.2,
1.3 OPjumpM.nc, 1.2, 1.3 OPloc.nc, 1.3, 1.4 OPlocM.nc, 1.3,
1.4 OPlocToValue.nc, 1.2, 1.3 OPlocToValueM.nc, 1.1,
1.2 OPlogical.nc, 1.2, 1.3 OPlogicalM.nc, 1.3, 1.4 OPmod.nc,
1.2, 1.3 OPmodM.nc, 1.1, 1.2 OPmove.nc, 1.4, 1.5 OPmoveM.nc,
1.5, 1.6 OPmul.nc, 1.2, 1.3 OPmulM.nc, 1.2, 1.3 OPnot.nc, 1.1,
1.2 OPnotM.nc, 1.1, 1.2 OPnumnbrs.nc, 1.3, 1.4 OPnumnbrsM.nc,
1.2, 1.3 OPpop.nc, 1.2, 1.3 OPpopM.nc, 1.2, 1.3 OPpushc6.nc,
1.2, 1.3 OPpushc6M.nc, 1.3, 1.4 OPpushcl.nc, 1.2,
1.3 OPpushclM.nc, 1.2, 1.3 OPpushloc.nc, 1.2,
1.3 OPpushlocM.nc, 1.2, 1.3 OPpushn.nc, 1.2, 1.3 OPpushnM.nc,
1.2, 1.3 OPpusht.nc, 1.2, 1.3 OPpushtM.nc, 1.1,
1.2 OPputled.nc, 1.1, 1.2 OPputledM.nc, 1.1, 1.2 OPrand.nc,
1.2, 1.3 OPrandM.nc, 1.1, 1.2 OPrandnbr.nc, 1.3,
1.4 OPrandnbrM.nc, 1.1, 1.2 OPrjump5.nc, 1.2, 1.3 OPrjump5M.nc,
1.2, 1.3
Chien-Liang Fok
chien-liang at users.sourceforge.net
Thu May 18 12:58:46 PDT 2006
- Previous message: [Tinyos-contrib-commits]
CVS: tinyos-1.x/contrib/wustl/apps/Agilla/components
AddressMgrC.nc, 1.6, 1.7 AddressMgrM.nc, 1.10,
1.11 AgentMgrC.nc, 1.11, 1.12 AgentMgrM.nc, 1.28,
1.29 AgillaEngineC.nc, 1.5, 1.6 AgillaEngineM.nc, 1.12,
1.13 CodeMgrC.nc, 1.2, 1.3 CodeMgrM.nc, 1.6, 1.7 ErrorMgrC.nc,
1.3, 1.4 ErrorMgrDummy.nc, 1.2, 1.3 ErrorMgrM.nc, 1.4,
1.5 ErrorMgrProxy.nc, 1.1, 1.2 ExpLoggerC.nc, 1.4,
1.5 ExpLoggerM.nc, 1.7, 1.8 HeapMgrC.nc, 1.1, 1.2 HeapMgrM.nc,
1.4, 1.5 LocationMgrC.nc, 1.6, 1.7 LocationMgrM.nc, 1.5,
1.6 LocationUtils.nc, 1.2, 1.3 MessageBufferM.nc, 1.3,
1.4 OpStackC.nc, 1.2, 1.3 OpStackM.nc, 1.3, 1.4 Queue.nc, 1.1,
1.2 QueueProxy.nc, 1.2, 1.3 RemoteTSOpMgrC.nc, 1.5,
1.6 RemoteTSOpMgrDummy.nc, 1.1, 1.2 RemoteTSOpMgrM.nc, 1.20,
1.21 RemoteTSOpMgrProxy.nc, 1.1, 1.2 ResetMgrC.nc, 1.9,
1.10 ResetMgrM.nc, 1.7, 1.8 RxnMgrC.nc, 1.5,
1.6 RxnMgrDummy.nc, 1.1, 1.2 RxnMgrM.nc, 1.8,
1.9 RxnMgrProxy.nc, 1.1, 1.2 SystemTSMgrC.nc, 1.2,
1.3 SystemTSMgrM.nc, 1.3, 1.4 TimeSyncC.nc, 1.2,
1.3 TimeSyncM.nc, 1.4, 1.5 TupleSpaceC.nc, 1.2,
1.3 TupleSpaceDummy.nc, 1.1, 1.2 TupleSpaceM.nc, 1.12,
1.13 TupleSpaceProxy.nc, 1.1, 1.2 TupleUtilC.nc, 1.2,
1.3 TupleUtilM.nc, 1.7, 1.8 VarUtilC.nc, 1.2, 1.3 VarUtilM.nc,
1.1, 1.2
- Next message: [Tinyos-contrib-commits]
CVS: tinyos-1.x/contrib/wustl/apps/AgillaAgents/DirectoryService/GetAgentLocation
Querier.ma, NONE, 1.1 Querier 10s.ma, 1.2, 1.3 Querier 15s.ma,
1.2, 1.3 Querier 1s.ma, 1.4, 1.5 Querier 5s.ma, 1.4, 1.5
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/tinyos/tinyos-1.x/contrib/wustl/apps/Agilla/opcodes
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv25569/contrib/wustl/apps/Agilla/opcodes
Modified Files:
AgillaOpcode.nc AgillaOpcodeM.nc OPadd.nc OPaddM.nc OPaddr.nc
OPaddrM.nc OPaid.nc OPaidM.nc OPceqtype.nc OPceqtypeM.nc
OPcisnbr.nc OPcisnbrM.nc OPcistype.nc OPcistypeM.nc OPclear.nc
OPclearM.nc OPclearvar.nc OPclearvarM.nc OPcompare.nc
OPcompareM.nc OPcopy.nc OPcopyM.nc OPcpull.nc OPcpullM.nc
OPcpush.nc OPcpushM.nc OPdec.nc OPdecM.nc OPdepth.nc
OPdepthM.nc OPdesc.nc OPdescM.nc OPdirectory.nc
OPdirectoryM.nc OPdist.nc OPdistM.nc OPdiv.nc OPdivM.nc
OPegetsetvar6.nc OPegetsetvar6M.nc OPerr.nc OPerrM.nc
OPgetAgents.nc OPgetAgentsCM.nc OPgetAgentsM.nc
OPgetClosestAgent.nc OPgetClosestAgentCM.nc
OPgetClosestAgentM.nc OPgetNumAgents.nc OPgetNumAgentsCM.nc
OPgetNumAgentsM.nc OPgetlocation.nc OPgetlocationCM.nc
OPgetlocationM.nc OPgetnbr.nc OPgetnbrM.nc OPgetsetvar4.nc
OPgetsetvar4M.nc OPgetsetvars.nc OPgetsetvarsM.nc OPhalt.nc
OPhaltM.nc OPhid.nc OPhidM.nc OPinc.nc OPincM.nc OPinv.nc
OPinvM.nc OPjump.nc OPjumpM.nc OPloc.nc OPlocM.nc
OPlocToValue.nc OPlocToValueM.nc OPlogical.nc OPlogicalM.nc
OPmod.nc OPmodM.nc OPmove.nc OPmoveM.nc OPmul.nc OPmulM.nc
OPnot.nc OPnotM.nc OPnumnbrs.nc OPnumnbrsM.nc OPpop.nc
OPpopM.nc OPpushc6.nc OPpushc6M.nc OPpushcl.nc OPpushclM.nc
OPpushloc.nc OPpushlocM.nc OPpushn.nc OPpushnM.nc OPpusht.nc
OPpushtM.nc OPputled.nc OPputledM.nc OPrand.nc OPrandM.nc
OPrandnbr.nc OPrandnbrM.nc OPrjump5.nc OPrjump5M.nc OPrts.nc
OPrtsM.nc OPrxn.nc OPrxnM.nc OPsenseDummyC.nc OPsenseDummyM.nc
OPsenseMTS310CAC.nc OPsenseMTS310CAM.nc OPsenseMTS420CAC.nc
OPsenseMTS420CAM.nc OPshift.nc OPshiftM.nc OPsleep.nc
OPsleepM.nc OPsub.nc OPsubM.nc OPswap.nc OPswapM.nc OPts.nc
OPtsM.nc OPvicinity.nc OPvicinityM.nc OPwait.nc OPwaitM.nc
Added Files:
OPfindMatch.nc OPfindMatchM.nc
Log Message:
--- NEW FILE: OPfindMatch.nc ---
// $Id: OPfindMatch.nc,v 1.1 2006/05/18 19:58:41 chien-liang Exp $
/* Agilla - A middleware for wireless sensor networks.
* Copyright (C) 2004, Washington University in Saint Louis
* By Chien-Liang Fok.
*
* Washington University states that Agilla is free software;
* you can redistribute it and/or modify it under the terms of
* the current version of the GNU Lesser General Public License
* as published by the Free Software Foundation.
*
* Agilla is distributed in the hope that it will be useful, but
* THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
* MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
*
* YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
* WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
* WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
* INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
* PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
* FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
* OR OTHER HARMFUL CODE.
*
* YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
* ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
* INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
* indemnify, defend, and hold harmless WU, its employees, officers and
* agents from any and all claims, costs, or liabilities, including
* attorneys fees and court costs at both the trial and appellate levels
* for any loss, damage, or injury caused by your actions or actions of
* your officers, servants, agents or third parties acting on behalf or
* under authorization from you, as a result of using Agilla.
*
* See the GNU Lesser General Public License for more details, which can
* be found here: http://www.gnu.org/copyleft/lesser.html
*/
/* tab:4
*
*
* "Copyright (c) 2000-2002 The Regents of the University of California.
* All rights reserved.
*
* Permission to use, copy, modify, and distribute this software and
* its documentation for any purpose, without fee, and without written
* agreement is hereby granted, provided that the above copyright
* notice, the following two paragraphs and the author appear in all
* copies of this software.
*
* IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY
* PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
* DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
* DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
* PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
* CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT,
* UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
*
*/
/* tab:4
*
* IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
* By downloading, copying, installing or using the software you
* agree to this license. If you do not agree to this license, do
* not download, install, copy or use the software.
*
* Intel Open Source License
*
* Copyright (c) 2002 Intel Corporation
* All rights reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the Intel Corporation nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*
*/
/*
* Authors: Chien-Liang Fok
* History: May 3, 2006 Inception.
*
*/
/**
* @author Chien-Liang Fok
*/
configuration OPfindMatch{
provides interface BytecodeI;
}
implementation {
components OPfindMatchM, OpStackC, TupleUtilC, ErrorMgrProxy;
BytecodeI = OPfindMatchM;
OPfindMatchM.OpStackI -> OpStackC;
OPfindMatchM.TupleUtilI -> TupleUtilC;
OPfindMatchM.Error -> ErrorMgrProxy;
}
--- NEW FILE: OPfindMatchM.nc ---
// $Id: OPfindMatchM.nc,v 1.1 2006/05/18 19:58:41 chien-liang Exp $
/* Agilla - A middleware for wireless sensor networks.
* Copyright (C) 2004, Washington University in Saint Louis
* By Chien-Liang Fok.
*
* Washington University states that Agilla is free software;
* you can redistribute it and/or modify it under the terms of
* the current version of the GNU Lesser General Public License
* as published by the Free Software Foundation.
*
* Agilla is distributed in the hope that it will be useful, but
* THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
* MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
*
* YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
* WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
* WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
* INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
* PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
* FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
* OR OTHER HARMFUL CODE.
*
* YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
* ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
* INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
* indemnify, defend, and hold harmless WU, its employees, officers and
* agents from any and all claims, costs, or liabilities, including
* attorneys fees and court costs at both the trial and appellate levels
* for any loss, damage, or injury caused by your actions or actions of
* your officers, servants, agents or third parties acting on behalf or
* under authorization from you, as a result of using Agilla.
*
* See the GNU Lesser General Public License for more details, which can
* be found here: http://www.gnu.org/copyleft/lesser.html
*/
/* tab:4
*
*
* "Copyright (c) 2000-2002 The Regents of the University of California.
* All rights reserved.
*
* Permission to use, copy, modify, and distribute this software and
* its documentation for any purpose, without fee, and without written
* agreement is hereby granted, provided that the above copyright
* notice, the following two paragraphs and the author appear in all
* copies of this software.
*
* IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY
* PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
* DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
* DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
* PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
* CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT,
* UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
*
*/
/* tab:4
*
* IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
* By downloading, copying, installing or using the software you
* agree to this license. If you do not agree to this license, do
* not download, install, copy or use the software.
*
* Intel Open Source License
*
* Copyright (c) 2002 Intel Corporation
* All rights reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the Intel Corporation nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*
*/
/**
* @author Chien-Liang Fok <liangfok at wustl.edu>
*/
includes Agilla;
/**
* Searches through the heap to find the index of a matching variable.
*/
module OPfindMatchM {
provides interface BytecodeI;
uses {
interface OpStackI;
interface TupleUtilI; // For comparing variables
interface ErrorMgrI as Error;
}
}
implementation {
command result_t BytecodeI.execute(uint8_t instr, AgillaAgentContext* context) {
AgillaVariable arg; // the variable to search for
dbg(DBG_USR1, "VM (%i:%i): Executing findMatch\n", context->id.id, context->pc-1);
if (call OpStackI.popOperand(context, &arg))
{
int16_t i;
for (i = 0; i < AGILLA_HEAP_SIZE; i++)
{
if (context->heap.pos[i].vtype != AGILLA_TYPE_INVALID)
{
if (call TupleUtilI.fEquals(&arg, &context->heap.pos[i]))
{
call OpStackI.pushValue(context, i); // save index on stack
context->condition = 1; // indicate match found
#if DEBUG_OP_FIND_MATCH
dbg(DBG_USR1, "OPfindMatchM: Match found in position %i.\n", i);
#endif
return SUCCESS;
}
}
}
#if DEBUG_OP_FIND_MATCH
dbg(DBG_USR1, "OPfindMatchM: No match found!\n");
#endif
context->condition = 0; // indicate no match found
return SUCCESS;
} else
return FAIL;
}
}
Index: OPadd.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/apps/Agilla/opcodes/OPadd.nc,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** OPadd.nc 6 Feb 2006 09:40:40 -0000 1.2
--- OPadd.nc 18 May 2006 19:58:41 -0000 1.3
***************
*** 1,128 ****
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! /* tab:4
! *
! *
! * "Copyright (c) 2000-2002 The Regents of the University of California.
! * All rights reserved.
! *
! * Permission to use, copy, modify, and distribute this software and
! * its documentation for any purpose, without fee, and without written
! * agreement is hereby granted, provided that the above copyright
! * notice, the following two paragraphs and the author appear in all
! * copies of this software.
! *
! * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY
! * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
! * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
! * DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN
! * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
! *
! * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
! * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
! * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
! * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
! * CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT,
! * UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
! *
! */
! /* tab:4
! *
! * IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
! * By downloading, copying, installing or using the software you
! * agree to this license. If you do not agree to this license, do
! * not download, install, copy or use the software.
! *
! * Intel Open Source License
! *
! * Copyright (c) 2002 Intel Corporation
! * All rights reserved.
! * Redistribution and use in source and binary forms, with or without
! * modification, are permitted provided that the following conditions are
! * met:
! *
! * Redistributions of source code must retain the above copyright
! * notice, this list of conditions and the following disclaimer.
! * Redistributions in binary form must reproduce the above copyright
! * notice, this list of conditions and the following disclaimer in the
! * documentation and/or other materials provided with the distribution.
! * Neither the name of the Intel Corporation nor the names of its
! * contributors may be used to endorse or promote products derived from
! * this software without specific prior written permission.
! *
! * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
! * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
! * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS
! * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
! * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
! * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
! * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
! * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
! * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
! * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
! *
! *
! */
!
! /*
! * Authors: Neil Patel
! * History: Apr 11, 2003 Inception.
! *
! */
!
! /**
! * @author Neil Patel
! */
!
!
! includes Agilla;
!
! configuration OPadd {
! provides interface BytecodeI;
! }
!
! implementation {
! components OPaddM, OpStackC, ErrorMgrProxy;
!
! BytecodeI = OPaddM;
!
! OPaddM.Error -> ErrorMgrProxy;
! OPaddM.Stacks -> OpStackC;
! }
--- 1,128 ----
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! /* tab:4
! *
! *
! * "Copyright (c) 2000-2002 The Regents of the University of California.
! * All rights reserved.
! *
! * Permission to use, copy, modify, and distribute this software and
! * its documentation for any purpose, without fee, and without written
! * agreement is hereby granted, provided that the above copyright
! * notice, the following two paragraphs and the author appear in all
! * copies of this software.
! *
! * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY
! * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
! * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
! * DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN
! * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
! *
! * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
! * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
! * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
! * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
! * CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT,
! * UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
! *
! */
! /* tab:4
! *
! * IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
! * By downloading, copying, installing or using the software you
! * agree to this license. If you do not agree to this license, do
! * not download, install, copy or use the software.
! *
! * Intel Open Source License
! *
! * Copyright (c) 2002 Intel Corporation
! * All rights reserved.
! * Redistribution and use in source and binary forms, with or without
! * modification, are permitted provided that the following conditions are
! * met:
! *
! * Redistributions of source code must retain the above copyright
! * notice, this list of conditions and the following disclaimer.
! * Redistributions in binary form must reproduce the above copyright
! * notice, this list of conditions and the following disclaimer in the
! * documentation and/or other materials provided with the distribution.
! * Neither the name of the Intel Corporation nor the names of its
! * contributors may be used to endorse or promote products derived from
! * this software without specific prior written permission.
! *
! * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
! * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
! * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS
! * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
! * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
! * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
! * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
! * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
! * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
! * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
! *
! *
! */
!
! /*
! * Authors: Neil Patel
! * History: Apr 11, 2003 Inception.
! *
! */
!
! /**
! * @author Neil Patel
! */
!
!
! includes Agilla;
!
! configuration OPadd {
! provides interface BytecodeI;
! }
!
! implementation {
! components OPaddM, OpStackC, ErrorMgrProxy;
!
! BytecodeI = OPaddM;
!
! OPaddM.Error -> ErrorMgrProxy;
! OPaddM.Stacks -> OpStackC;
! }
Index: OPaddr.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/apps/Agilla/opcodes/OPaddr.nc,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** OPaddr.nc 13 Oct 2005 17:12:13 -0000 1.1
--- OPaddr.nc 18 May 2006 19:58:41 -0000 1.2
***************
*** 1,50 ****
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! includes Agilla;
!
! configuration OPaddr {
! provides interface BytecodeI;
! }
! implementation {
! components OPaddrM, OpStackC;
!
! BytecodeI = OPaddrM;
!
! OPaddrM.Stacks -> OpStackC;
! }
--- 1,50 ----
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! includes Agilla;
!
! configuration OPaddr {
! provides interface BytecodeI;
! }
! implementation {
! components OPaddrM, OpStackC;
!
! BytecodeI = OPaddrM;
!
! OPaddrM.Stacks -> OpStackC;
! }
Index: OPaid.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/apps/Agilla/opcodes/OPaid.nc,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** OPaid.nc 13 Oct 2005 17:12:13 -0000 1.1
--- OPaid.nc 18 May 2006 19:58:41 -0000 1.2
***************
*** 1,48 ****
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! includes Agilla;
!
! configuration OPaid {
! provides interface BytecodeI;
! }
! implementation {
! components OPaidM, OpStackC;
! BytecodeI = OPaidM;
! OPaidM.Stacks -> OpStackC;
! }
--- 1,48 ----
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! includes Agilla;
!
! configuration OPaid {
! provides interface BytecodeI;
! }
! implementation {
! components OPaidM, OpStackC;
! BytecodeI = OPaidM;
! OPaidM.Stacks -> OpStackC;
! }
Index: OPceqtype.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/apps/Agilla/opcodes/OPceqtype.nc,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** OPceqtype.nc 6 Feb 2006 09:40:40 -0000 1.2
--- OPceqtype.nc 18 May 2006 19:58:41 -0000 1.3
***************
*** 1,124 ****
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! /* tab:4
! *
! *
! * "Copyright (c) 2000-2002 The Regents of the University of California.
! * All rights reserved.
! *
! * Permission to use, copy, modify, and distribute this software and
! * its documentation for any purpose, without fee, and without written
! * agreement is hereby granted, provided that the above copyright
! * notice, the following two paragraphs and the author appear in all
! * copies of this software.
! *
! * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY
! * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
! * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
! * DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN
! * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
! *
! * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
! * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
! * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
! * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
! * CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT,
! * UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
! *
! */
! /* tab:4
! *
! * IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
! * By downloading, copying, installing or using the software you
! * agree to this license. If you do not agree to this license, do
! * not download, install, copy or use the software.
! *
! * Intel Open Source License
! *
! * Copyright (c) 2002 Intel Corporation
! * All rights reserved.
! * Redistribution and use in source and binary forms, with or without
! * modification, are permitted provided that the following conditions are
! * met:
! *
! * Redistributions of source code must retain the above copyright
! * notice, this list of conditions and the following disclaimer.
! * Redistributions in binary form must reproduce the above copyright
! * notice, this list of conditions and the following disclaimer in the
! * documentation and/or other materials provided with the distribution.
! * Neither the name of the Intel Corporation nor the names of its
! * contributors may be used to endorse or promote products derived from
! * this software without specific prior written permission.
! *
! * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
! * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
! * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS
! * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
! * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
! * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
! * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
! * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
! * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
! * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
! *
! *
! */
!
! /*
! * Authors: Neil Patel
! * History: Apr 11, 2003 Inception.
! *
! */
!
! /**
! * @author Neil Patel
! */
!
!
! includes Agilla;
!
! configuration OPceqtype {
! provides interface BytecodeI;
! }
! implementation {
! components OPceqtypeM, OpStackC;
! BytecodeI = OPceqtypeM;
! OPceqtypeM.Stacks -> OpStackC;
! }
--- 1,124 ----
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! /* tab:4
! *
! *
! * "Copyright (c) 2000-2002 The Regents of the University of California.
! * All rights reserved.
! *
! * Permission to use, copy, modify, and distribute this software and
! * its documentation for any purpose, without fee, and without written
! * agreement is hereby granted, provided that the above copyright
! * notice, the following two paragraphs and the author appear in all
! * copies of this software.
! *
! * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY
! * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
! * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
! * DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN
! * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
! *
! * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
! * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
! * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
! * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
! * CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT,
! * UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
! *
! */
! /* tab:4
! *
! * IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
! * By downloading, copying, installing or using the software you
! * agree to this license. If you do not agree to this license, do
! * not download, install, copy or use the software.
! *
! * Intel Open Source License
! *
! * Copyright (c) 2002 Intel Corporation
! * All rights reserved.
! * Redistribution and use in source and binary forms, with or without
! * modification, are permitted provided that the following conditions are
! * met:
! *
! * Redistributions of source code must retain the above copyright
! * notice, this list of conditions and the following disclaimer.
! * Redistributions in binary form must reproduce the above copyright
! * notice, this list of conditions and the following disclaimer in the
! * documentation and/or other materials provided with the distribution.
! * Neither the name of the Intel Corporation nor the names of its
! * contributors may be used to endorse or promote products derived from
! * this software without specific prior written permission.
! *
! * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
! * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
! * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS
! * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
! * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
! * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
! * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
! * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
! * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
! * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
! *
! *
! */
!
! /*
! * Authors: Neil Patel
! * History: Apr 11, 2003 Inception.
! *
! */
!
! /**
! * @author Neil Patel
! */
!
!
! includes Agilla;
!
! configuration OPceqtype {
! provides interface BytecodeI;
! }
! implementation {
! components OPceqtypeM, OpStackC;
! BytecodeI = OPceqtypeM;
! OPceqtypeM.Stacks -> OpStackC;
! }
Index: OPcisnbr.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/apps/Agilla/opcodes/OPcisnbr.nc,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** OPcisnbr.nc 6 Feb 2006 09:40:40 -0000 1.4
--- OPcisnbr.nc 18 May 2006 19:58:41 -0000 1.5
***************
*** 1,56 ****
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! includes Agilla;
!
! configuration OPcisnbr {
! provides interface BytecodeI;
! }
!
! implementation {
! components OPcisnbrM, OpStackC, NeighborListProxy, ErrorMgrProxy;
! components LocationMgrC;
!
! BytecodeI = OPcisnbrM;
!
! OPcisnbrM.OpStackI -> OpStackC;
! OPcisnbrM.NeighborListI -> NeighborListProxy;
! OPcisnbrM.ErrorMgrI -> ErrorMgrProxy;
! OPcisnbrM.LocationMgrI -> LocationMgrC;
! }
!
--- 1,56 ----
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! includes Agilla;
!
! configuration OPcisnbr {
! provides interface BytecodeI;
! }
!
! implementation {
! components OPcisnbrM, OpStackC, NeighborListProxy, ErrorMgrProxy;
! components LocationMgrC;
!
! BytecodeI = OPcisnbrM;
!
! OPcisnbrM.OpStackI -> OpStackC;
! OPcisnbrM.NeighborListI -> NeighborListProxy;
! OPcisnbrM.ErrorMgrI -> ErrorMgrProxy;
! OPcisnbrM.LocationMgrI -> LocationMgrC;
! }
!
Index: OPcistype.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/apps/Agilla/opcodes/OPcistype.nc,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** OPcistype.nc 6 Feb 2006 09:40:40 -0000 1.2
--- OPcistype.nc 18 May 2006 19:58:41 -0000 1.3
***************
*** 1,49 ****
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! includes Agilla;
!
! configuration OPcistype {
! provides interface BytecodeI;
! }
! implementation {
! components OPcistypeM, OpStackC, ErrorMgrProxy;
! BytecodeI = OPcistypeM;
! OPcistypeM.OpStackI -> OpStackC;
! OPcistypeM.ErrorMgrI -> ErrorMgrProxy;
! }
--- 1,49 ----
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! includes Agilla;
!
! configuration OPcistype {
! provides interface BytecodeI;
! }
! implementation {
! components OPcistypeM, OpStackC, ErrorMgrProxy;
! BytecodeI = OPcistypeM;
! OPcistypeM.OpStackI -> OpStackC;
! OPcistypeM.ErrorMgrI -> ErrorMgrProxy;
! }
Index: OPclear.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/apps/Agilla/opcodes/OPclear.nc,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** OPclear.nc 6 Feb 2006 09:40:40 -0000 1.2
--- OPclear.nc 18 May 2006 19:58:41 -0000 1.3
***************
*** 1,48 ****
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! includes Agilla;
!
! configuration OPclear {
! provides interface BytecodeI;
! }
! implementation {
! components OPclearM, OpStackC;
! BytecodeI = OPclearM;
! OPclearM.Stacks -> OpStackC;
! }
--- 1,48 ----
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! includes Agilla;
!
! configuration OPclear {
! provides interface BytecodeI;
! }
! implementation {
! components OPclearM, OpStackC;
! BytecodeI = OPclearM;
! OPclearM.Stacks -> OpStackC;
! }
Index: OPclearvar.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/apps/Agilla/opcodes/OPclearvar.nc,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** OPclearvar.nc 6 Feb 2006 09:40:40 -0000 1.2
--- OPclearvar.nc 18 May 2006 19:58:41 -0000 1.3
***************
*** 1,128 ****
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! /* tab:4
! *
! *
! * "Copyright (c) 2000-2002 The Regents of the University of California.
! * All rights reserved.
! *
! * Permission to use, copy, modify, and distribute this software and
! * its documentation for any purpose, without fee, and without written
! * agreement is hereby granted, provided that the above copyright
! * notice, the following two paragraphs and the author appear in all
! * copies of this software.
! *
! * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY
! * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
! * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
! * DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN
! * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
! *
! * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
! * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
! * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
! * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
! * CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT,
! * UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
! *
! */
! /* tab:4
! *
! * IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
! * By downloading, copying, installing or using the software you
! * agree to this license. If you do not agree to this license, do
! * not download, install, copy or use the software.
! *
! * Intel Open Source License
! *
! * Copyright (c) 2002 Intel Corporation
! * All rights reserved.
! * Redistribution and use in source and binary forms, with or without
! * modification, are permitted provided that the following conditions are
! * met:
! *
! * Redistributions of source code must retain the above copyright
! * notice, this list of conditions and the following disclaimer.
! * Redistributions in binary form must reproduce the above copyright
! * notice, this list of conditions and the following disclaimer in the
! * documentation and/or other materials provided with the distribution.
! * Neither the name of the Intel Corporation nor the names of its
! * contributors may be used to endorse or promote products derived from
! * this software without specific prior written permission.
! *
! * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
! * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
! * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS
! * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
! * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
! * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
! * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
! * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
! * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
! * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
! *
! *
! */
!
! /*
! * Authors: Chien-Liang Fok <liang at cse.wustl.edu>
! * History: Apr 14, 2004 Inception.
! *
! */
!
! /**
! * @author Chien-Liang Fok
! */
!
!
! includes Agilla;
!
! configuration OPclearvar {
! provides interface BytecodeI;
! }
! implementation {
! components OPclearvarM, OpStackC;
! components ErrorMgrProxy;
!
! BytecodeI = OPclearvarM;
!
! OPclearvarM.Stacks -> OpStackC;
! OPclearvarM.ErrorMgrI -> ErrorMgrProxy;
! }
--- 1,128 ----
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! /* tab:4
! *
! *
! * "Copyright (c) 2000-2002 The Regents of the University of California.
! * All rights reserved.
! *
! * Permission to use, copy, modify, and distribute this software and
! * its documentation for any purpose, without fee, and without written
! * agreement is hereby granted, provided that the above copyright
! * notice, the following two paragraphs and the author appear in all
! * copies of this software.
! *
! * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY
! * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
! * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
! * DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN
! * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
! *
! * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
! * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
! * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
! * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
! * CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT,
! * UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
! *
! */
! /* tab:4
! *
! * IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
! * By downloading, copying, installing or using the software you
! * agree to this license. If you do not agree to this license, do
! * not download, install, copy or use the software.
! *
! * Intel Open Source License
! *
! * Copyright (c) 2002 Intel Corporation
! * All rights reserved.
! * Redistribution and use in source and binary forms, with or without
! * modification, are permitted provided that the following conditions are
! * met:
! *
! * Redistributions of source code must retain the above copyright
! * notice, this list of conditions and the following disclaimer.
! * Redistributions in binary form must reproduce the above copyright
! * notice, this list of conditions and the following disclaimer in the
! * documentation and/or other materials provided with the distribution.
! * Neither the name of the Intel Corporation nor the names of its
! * contributors may be used to endorse or promote products derived from
! * this software without specific prior written permission.
! *
! * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
! * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
! * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS
! * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
! * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
! * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
! * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
! * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
! * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
! * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
! *
! *
! */
!
! /*
! * Authors: Chien-Liang Fok <liang at cse.wustl.edu>
! * History: Apr 14, 2004 Inception.
! *
! */
!
! /**
! * @author Chien-Liang Fok
! */
!
!
! includes Agilla;
!
! configuration OPclearvar {
! provides interface BytecodeI;
! }
! implementation {
! components OPclearvarM, OpStackC;
! components ErrorMgrProxy;
!
! BytecodeI = OPclearvarM;
!
! OPclearvarM.Stacks -> OpStackC;
! OPclearvarM.ErrorMgrI -> ErrorMgrProxy;
! }
Index: OPcompare.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/apps/Agilla/opcodes/OPcompare.nc,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** OPcompare.nc 6 Feb 2006 09:40:40 -0000 1.2
--- OPcompare.nc 18 May 2006 19:58:41 -0000 1.3
***************
*** 1,50 ****
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! includes Agilla;
!
! configuration OPcompare {
! provides interface BytecodeI;
! }
!
! implementation {
! components OPcompareM, OpStackC, ErrorMgrProxy;
! BytecodeI = OPcompareM;
! OPcompareM.Stacks -> OpStackC;
! OPcompareM.ErrorMgrI -> ErrorMgrProxy;
! }
--- 1,50 ----
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! includes Agilla;
!
! configuration OPcompare {
! provides interface BytecodeI;
! }
!
! implementation {
! components OPcompareM, OpStackC, ErrorMgrProxy;
! BytecodeI = OPcompareM;
! OPcompareM.Stacks -> OpStackC;
! OPcompareM.ErrorMgrI -> ErrorMgrProxy;
! }
Index: OPcompareM.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/apps/Agilla/opcodes/OPcompareM.nc,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** OPcompareM.nc 21 Jan 2006 03:18:20 -0000 1.3
--- OPcompareM.nc 18 May 2006 19:58:41 -0000 1.4
***************
*** 1,467 ****
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! includes Agilla;
! includes AgillaOpcodes;
!
! /**
! * Implements cgt, cgte, clt, clte, ceq, and cneq.
! *
! * @author Chien-Liang Fok
! * @version 1.3
! */
! module OPcompareM {
! provides interface BytecodeI;
! uses {
! interface OpStackI as Stacks;
! interface ErrorMgrI;
! }
! }
! implementation {
!
! inline void printDebug(AgillaAgentContext* context, uint8_t instr) {
! switch(instr) {
! case IOPcgt:
! dbg(DBG_USR1, "VM (%i:%i): Executing cgt.\n", context->id.id, context->pc-1);
! break;
! case IOPcgte:
! dbg(DBG_USR1, "VM (%i:%i): Executing cgte.\n", context->id.id, context->pc-1);
! break;
! case IOPclt:
! dbg(DBG_USR1, "VM (%i:%i): Executing clt.\n", context->id.id, context->pc-1);
! break;
! case IOPclte:
! dbg(DBG_USR1, "VM (%i:%i): Executing clte.\n", context->id.id, context->pc-1);
! break;
! case IOPceq:
! dbg(DBG_USR1, "VM (%i:%i): Executing ceq.\n", context->id.id, context->pc-1);
! break;
! case IOPcneq:
! dbg(DBG_USR1, "VM (%i:%i): Executing cneq.\n", context->id.id, context->pc-1);
! break;
! default:
! dbg(DBG_USR1, "OPcompareM: ERROR: OPcompareM: Invalid instruction %i.\n", instr);
! }
! }
!
! inline result_t compare2values(uint8_t instr, AgillaAgentContext* context,
! int16_t val1, int16_t val2)
! {
! switch(instr) {
! case IOPcgt:
! context->condition = (val2 > val1);
! break;
! case IOPcgte:
! context->condition = (val2 >= val1);
! break;
! case IOPclt:
! context->condition = (val2 < val1);
! break;
! case IOPclte:
! context->condition = (val2 <= val1);
! break;
! case IOPceq:
! context->condition = (val2 == val1);
! break;
! case IOPcneq:
! context->condition = (val2 != val1);
! break;
! default:
! context->condition = 0;
! }
! return SUCCESS;
! }
!
! inline result_t compare2readings(uint8_t instr, AgillaAgentContext* context,
! AgillaReading* reading1, AgillaReading* reading2)
! {
! #if DEBUG_OPCOMPARE
! dbg(DBG_USR1, "OPcompareM: Comparing 2 readings: %i:%i, %i:%i.\n", reading1->type, reading1->reading, reading2->type, reading2->reading);
! #endif
! if (reading1->type == reading2->type) {
! switch(instr) {
! case IOPcgt:
! context->condition = (reading2->reading > reading1->reading);
! break;
! case IOPcgte:
! context->condition = (reading2->reading >= reading1->reading);
! break;
! case IOPclt:
! context->condition = (reading2->reading < reading1->reading);
! break;
! case IOPclte:
! context->condition = (reading2->reading <= reading1->reading);
! break;
! case IOPceq:
! context->condition = (reading2->reading == reading1->reading);
! break;
! case IOPcneq:
! context->condition = (reading2->reading != reading1->reading);
! break;
! default:
! context->condition = 0;
! }
! } else
! context->condition = 0; // sensor types do not match
! return SUCCESS;
! }
!
! inline result_t compare2locations(uint8_t instr, AgillaAgentContext* context,
! AgillaLocation* loc1, AgillaLocation* loc2)
! {
! bool compareX = TRUE, compareY = TRUE;
!
! #if DEBUG_OPCOMPARE
! dbg(DBG_USR1, "OPcompareM: Comparing two locations (%i, %i), (%i, %i)..\n",
! loc1->x, loc1->y, loc2->x, loc2->y);
! #endif
!
! if (context->heap.pos[AGILLA_HEAP_LOC_INDEX].vtype == AGILLA_TYPE_VALUE)
! {
! if (context->heap.pos[AGILLA_HEAP_LOC_INDEX].value.value == 1)
! compareY = FALSE;
! else if (context->heap.pos[AGILLA_HEAP_LOC_INDEX].value.value == 2)
! compareX = FALSE;
! }
!
! switch(instr) {
! case IOPcgt:
! if (compareX && compareY)
! context->condition = (loc2->x > loc1->x && loc2->y > loc1->y);
! else if (compareX)
! context->condition = (loc2->x > loc1->x);
! else
! context->condition = (loc2->y > loc1->y);
! break;
! case IOPcgte:
! if (compareX && compareY)
! context->condition = (loc2->x >= loc1->x && loc2->y >= loc1->y);
! else if (compareX)
! context->condition = (loc2->x >= loc1->x);
! else
! context->condition = (loc2->y >= loc1->y);
! break;
! case IOPclt:
! if (compareX && compareY)
! context->condition = (loc2->x < loc1->x && loc2->y < loc1->y);
! else if (compareX)
! context->condition = (loc2->x < loc1->x);
! else
! context->condition = (loc2->y < loc1->y);
! break;
! case IOPclte:
! if (compareX && compareY)
! context->condition = (loc2->x <= loc1->x && loc2->y <= loc1->y);
! else if (compareX)
! context->condition = (loc2->x <= loc1->x);
! else
! context->condition = (loc2->y <= loc1->y);
! break;
! case IOPceq:
! if (compareX && compareY)
! context->condition = (loc2->x == loc1->x && loc2->y == loc1->y);
! else if (compareX)
! context->condition = (loc2->x == loc1->x);
! else
! context->condition = (loc2->y == loc1->y);
! break;
! case IOPcneq:
!
! #if DEBUG_OPCOMPARE
! dbg(DBG_USR1, "OPcompareM: Performing cneq...\n");
! #endif
!
! if (compareX && compareY) {
!
! #if DEBUG_OPCOMPARE
! dbg(DBG_USR1, "OPcompareM: Comparing both X and Y axis...\n");
! #endif
!
! context->condition = (loc2->x != loc1->x || loc2->y != loc1->y);
!
! #if DEBUG_OPCOMPARE
! dbg(DBG_USR1, "OPcompareM: condition = %i\n", context->condition);
! #endif
!
! } else if (compareX)
! context->condition = (loc2->x != loc1->x);
! else
! context->condition = (loc2->y != loc1->y);
! break;
! default:
! context->condition = 0;
! }
! return SUCCESS;
! }
!
! /* inline result_t compareValLoc(uint8_t instr, AgillaAgentContext* context,
! AgillaValue* val, AgillaLocation* loc)
! {
! bool compareX = TRUE, compareY = TRUE;
! if (context->heap.pos[AGILLA_HEAP_SIZE-1].vtype == AGILLA_TYPE_VALUE) {
! if (context->heap.pos[AGILLA_HEAP_SIZE-1].value.value == 1)
! compareY = FALSE;
! else if (context->heap.pos[AGILLA_HEAP_SIZE-1].value.value == 2)
! compareX = FALSE;
! }
!
! switch(instr) {
! case IOPcgt:
! if (compareX && compareY)
! context->condition = (loc->x > val->val && loc->y > val->val);
! else if (compareX)
! context->condition = (loc->x > loc1->x);
! else
! context->condition = (loc->y > loc1->y);
! break;
! case IOPcgte:
! if (compareX && compareY)
! context->condition = (loc2->x >= loc1->x && loc2->y >= loc1->y);
! else if (compareX)
! context->condition = (loc2->x >= loc1->x);
! else
! context->condition = (loc2->y >= loc1->y);
! break;
! case IOPclt:
! if (compareX && compareY)
! context->condition = (loc2->x < loc1->x && loc2->y < loc1->y);
! else if (compareX)
! context->condition = (loc2->x < loc1->x);
! else
! context->condition = (loc2->y < loc1->y);
! break;
! case IOPclte:
! if (compareX && compareY)
! context->condition = (loc2->x <= loc1->x && loc2->y <= loc1->y);
! else if (compareX)
! context->condition = (loc2->x <= loc1->x);
! else
! context->condition = (loc2->y <= loc1->y);
! break;
! case IOPceq:
! if (compareX && compareY)
! context->condition = (loc2->x == loc1->x && loc2->y == loc1->y);
! else if (compareX)
! context->condition = (loc2->x == loc1->x);
! else
! context->condition = (loc2->y == loc1->y);
! break;
! case IOPcneq:
! if (compareX && compareY)
! context->condition = (loc2->x != loc1->x && loc2->y != loc1->y);
! else if (compareX)
! context->condition = (loc2->x != loc1->x);
! else
! context->condition = (loc2->y != loc1->y);
! break;
! default:
! context->condition = 0;
! }
! return SUCCESS;
! } */
!
! inline result_t compare2ids(uint8_t instr, AgillaAgentContext* context,
! AgillaAgentID* id1, AgillaAgentID* id2)
! {
! switch(instr) {
! case IOPcgt:
! context->condition = (id2->id > id1->id);
! break;
! case IOPcgte:
! context->condition = (id2->id >= id1->id);
! break;
! case IOPclt:
! context->condition = (id2->id < id1->id);
! break;
! case IOPclte:
! context->condition = (id2->id <= id1->id);
! break;
! case IOPceq:
! context->condition = (id2->id == id1->id);
! break;
! case IOPcneq:
! context->condition = (id2->id != id1->id);
! break;
! default:
! context->condition = 0;
! }
! return SUCCESS;
! }
!
! inline result_t compare2strings(uint8_t instr, AgillaAgentContext* context,
! AgillaString* string1, AgillaString* string2)
! {
! switch(instr) {
! case IOPcgt:
! context->condition = (string2->string > string1->string);
! break;
! case IOPcgte:
! context->condition = (string2->string >= string1->string);
! break;
! case IOPclt:
! context->condition = (string2->string < string1->string);
! break;
! case IOPclte:
! context->condition = (string2->string <= string1->string);
! break;
! case IOPceq:
! context->condition = (string2->string == string1->string);
! break;
! case IOPcneq:
! context->condition = (string2->string != string1->string);
! break;
! default:
! context->condition = 0;
! }
! return SUCCESS;
! }
!
! inline result_t compare2types(uint8_t instr, AgillaAgentContext* context,
! AgillaType* type1, AgillaType* type2)
! {
! switch(instr) {
! case IOPceq:
! context->condition = (type2->type == type1->type);
! break;
! case IOPcneq:
! context->condition = (type2->type != type1->type);
! break;
! default:
! context->condition = 0;
! }
! return SUCCESS;
! }
!
! inline result_t compare2rtypes(uint8_t instr, AgillaAgentContext* context,
! AgillaRType* rtype1, AgillaRType* rtype2)
! {
! switch(instr) {
! case IOPceq:
! context->condition = (rtype2->stype == rtype1->stype);
! break;
! case IOPcneq:
! context->condition = (rtype2->stype != rtype1->stype);
! break;
! default:
! context->condition = 0;
! }
! return SUCCESS;
! }
!
!
! command result_t BytecodeI.execute(uint8_t instr, AgillaAgentContext* context) {
! AgillaVariable arg1, arg2;
! printDebug(context, instr);
! if (call Stacks.popOperand(context, &arg1)) {
! if (call Stacks.popOperand(context, &arg2)) {
!
! if (arg1.vtype == AGILLA_TYPE_VALUE && arg2.vtype == AGILLA_TYPE_VALUE) {
! #if DEBUG_OPCOMPARE
! dbg(DBG_USR1, "OPcompareM: Comparing 2 values.\n");
! #endif
! return compare2values(instr, context, arg1.value.value, arg2.value.value);
! }
!
! if (arg1.vtype == AGILLA_TYPE_READING && arg2.vtype == AGILLA_TYPE_READING) {
! #if DEBUG_OPCOMPARE
! dbg(DBG_USR1, "OPcompareM: Comparing 2 readings.\n");
! #endif
! return compare2readings(instr, context, &arg1.reading, &arg2.reading);
! }
!
! if (arg1.vtype == AGILLA_TYPE_LOCATION && arg2.vtype == AGILLA_TYPE_LOCATION) {
! return compare2locations(instr, context, &arg1.loc, &arg2.loc);
! }
!
! if (arg1.vtype == AGILLA_TYPE_AGENTID && arg2.vtype == AGILLA_TYPE_AGENTID) {
! #if DEBUG_OPCOMPARE
! dbg(DBG_USR1, "OPcompareM: Comparing 2 agent IDs.\n");
! #endif
! return compare2ids(instr, context, &arg1.id, &arg2.id);
! }
!
! if (arg1.vtype == AGILLA_TYPE_STRING && arg2.vtype == AGILLA_TYPE_STRING) {
! #if DEBUG_OPCOMPARE
! dbg(DBG_USR1, "OPcompareM: Comparing 2 strings.\n");
! #endif
! return compare2strings(instr, context, &arg1.string, &arg2.string);
! }
!
! if (arg1.vtype == AGILLA_TYPE_TYPE && arg2.vtype == AGILLA_TYPE_TYPE) {
! #if DEBUG_OPCOMPARE
! dbg(DBG_USR1, "OPcompareM: Comparing 2 types.\n");
! #endif
! return compare2types(instr, context, &arg1.type, &arg2.type);
! }
!
! if (arg1.vtype == AGILLA_TYPE_STYPE && arg2.vtype == AGILLA_TYPE_STYPE) {
! #if DEBUG_OPCOMPARE
! dbg(DBG_USR1, "OPcompareM: Comparing 2 sensor types.\n");
! #endif
! return compare2rtypes(instr, context, &arg1.rtype, &arg2.rtype);
! }
!
! if (arg1.vtype == AGILLA_TYPE_VALUE && arg2.vtype == AGILLA_TYPE_READING) {
! #if DEBUG_OPCOMPARE
! dbg(DBG_USR1, "OPcompareM: Comparing value to reading.\n");
! #endif
! return compare2values(instr, context, arg1.value.value, arg2.reading.reading);
! }
!
! if (arg1.vtype == AGILLA_TYPE_READING && arg2.vtype == AGILLA_TYPE_VALUE) {
! #if DEBUG_OPCOMPARE
! dbg(DBG_USR1, "OPcompareM: Comparing reading to value.\n");
! #endif
! return compare2values(instr, context, arg1.reading.reading, arg2.value.value);
! }
!
! dbg(DBG_USR1, "OPcompareM: Two values not same type.\n");
! //call ErrorMgrI.errord(context, AGILLA_ERROR_INVALID_TYPE, 0x09);
! context->condition = 0;
! return SUCCESS;
! } else {
! dbg(DBG_USR1, "OPcompareM: Problem getting SECOND argument.\n");
! return FAIL;
! }
! } else {
! dbg(DBG_USR1, "OPcompareM: Problem getting FIRST argument.\n");
! return FAIL;
! }
! return SUCCESS;
! }
! }
--- 1,467 ----
! // $Id$
!
! /* Agilla - A middleware for wireless sensor networks.
! * Copyright (C) 2004, Washington University in Saint Louis
! * By Chien-Liang Fok.
! *
! * Washington University states that Agilla is free software;
! * you can redistribute it and/or modify it under the terms of
! * the current version of the GNU Lesser General Public License
! * as published by the Free Software Foundation.
! *
! * Agilla is distributed in the hope that it will be useful, but
! * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
! * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
! * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
! *
! * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
! * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
! * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
! * INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER
! * PROPRIETARY RIGHTS. THERE ARE NO WARRANTIES THAT SOFTWARE IS
! * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
! * OR OTHER HARMFUL CODE.
! *
! * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
! * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
! * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
! * indemnify, defend, and hold harmless WU, its employees, officers and
! * agents from any and all claims, costs, or liabilities, including
! * attorneys fees and court costs at both the trial and appellate levels
! * for any loss, damage, or injury caused by your actions or actions of
! * your officers, servants, agents or third parties acting on behalf or
! * under authorization from you, as a result of using Agilla.
! *
! * See the GNU Lesser General Public License for more details, which can
! * be found here: http://www.gnu.org/copyleft/lesser.html
! */
!
! includes Agilla;
! includes AgillaOpcodes;
!
! /**
! * Implements cgt, cgte, clt, clte, ceq, and cneq.
! *
! * @author Chien-Liang Fok
! * @version 1.3
! */
! module OPcompareM {
! provides interface BytecodeI;
! uses {
! interface OpStackI as Stacks;
! interface ErrorMgrI;
! }
! }
! implementation {
!
! inline void printDebug(AgillaAgentContext* context, uint8_t instr) {
! switch(instr) {
! case IOPcgt:
! dbg(DBG_USR1, "VM (%i:%i): Executing cgt.\n", context->id.id, context->pc-1);
! break;
! case IOPcgte:
! dbg(DBG_USR1, "VM (%i:%i): Executing cgte.\n", context->id.id, context->pc-1);
! break;
! case IOPclt:
! dbg(DBG_USR1, "VM (%i:%i): Executing clt.\n", context->id.id, context->pc-1);
! break;
! case IOPclte:
! dbg(DBG_USR1, "VM (%i:%i): Executing clte.\n", context->id.id, context->pc-1);
! break;
! case IOPceq:
! dbg(DBG_USR1, "VM (%i:%i): Executing ceq.\n", context->id.id, context->pc-1);
! break;
! case IOPcneq:
! dbg(DBG_USR1, "VM (%i:%i): Executing cneq.\n", context->id.id, context->pc-1);
! break;
! default:
! dbg(DBG_USR1, "OPcompareM: ERROR: OPcompareM: Invalid instruction %i.\n", instr);
! }
! }
!
! inline result_t compare2values(uint8_t instr, AgillaAgentContext* context,
! int16_t val1, int16_t val2)
! {
! switch(instr) {
! case IOPcgt:
! context->condition = (val2 > val1);
! break;
! case IOPcgte:
! context->condition = (val2 >= val1);
! break;
! case IOPclt:
! context->condition = (val2 < val1);
! break;
! case IOPclte:
! context->condition = (val2 <= val1);
! break;
! case IOPceq:
! context->condition = (val2 == val1);
! break;
! case IOPcneq:
! context->condition = (val2 != val1);
! break;
! default:
! context->condition = 0;
! }
! return SUCCESS;
! }
!
! inline result_t compare2readings(uint8_t instr, AgillaAgentContext* context,
! AgillaReading* reading1, AgillaReading* reading2)
! {
! #if DEBUG_OPCOMPARE
! dbg(DBG_USR1, "OPcompareM: Comparing 2 readings: %i:%i, %i:%i.\n", reading1->type, reading1->reading, reading2->type, reading2->reading);
! #endif
! if (reading1->type == reading2->type) {
! switch(instr) {
! case IOPcgt:
! context->condition = (reading2->reading > reading1->reading);
! break;
! case IOPcgte:
! context->condition = (reading2->reading >= reading1->reading);
! break;
! case IOPclt:
! context->condition = (reading2->reading < reading1->reading);
! break;
! case IOPclte:
! context->condition = (reading2->reading <= reading1->reading);
! break;
! case IOPceq:
! context->condition = (reading2->reading == reading1->reading);
! break;
! case IOPcneq:
! context->condition = (reading2->reading != reading1->reading);
! break;
! default:
! context->condition = 0;
! }
! } else
! context->condition = 0; // sensor types do not match
! return SUCCESS;
! }
!
! inline result_t compare2locations(uint8_t instr, AgillaAgentContext* context,
! AgillaLocation* loc1, AgillaLocation* loc2)
! {
! bool compareX = TRUE, compareY = TRUE;
!
! #if DEBUG_OPCOMPARE
! dbg(DBG_USR1, "OPcompareM: Comparing two locations (%i, %i), (%i, %i)..\n",
! loc1->x, loc1->y, loc2->x, loc2->y);
! #endif
!
! if (context->heap.pos[AGILLA_HEAP_LOC_INDEX].vtype == AGILLA_TYPE_VALUE)
! {
! if (context->heap.pos[AGILLA_HEAP_LOC_INDEX].value.value == 1)
! compareY = FALSE;
! else if (context->heap.pos[AGILLA_HEAP_LOC_INDEX].value.value == 2)
! compareX = FALSE;
! }
!
! switch(instr) {
! case IOPcgt:
! if (compareX && compareY)
! context->condition = (loc2->x > loc1->x && loc2->y > loc1->y);
! else if (compareX)
! context->condition = (loc2->x > loc1->x);
! else
! context->condition = (loc2->y > loc1->y);
! break;
! case IOPcgte:
! if (compareX && compareY)
! context->condition = (loc2->x >= loc1->x && loc2->y >= loc1->y);
! else if (compareX)
! context->condition = (loc2->x >= loc1->x);
! else
! context->condition = (loc2->y >= loc1->y);
! break;
! case IOPclt:
! if (compareX && compareY)
! context->condition = (loc2->x < loc1->x && loc2->y < loc1->y);
! else if (compareX)
! context->condition = (loc2->x < loc1->x);
! else
! context->condition = (loc2->y < loc1->y);
! break;
! case IOPclte:
! if (compareX && compareY)
! context->condition = (loc2->x <= loc1->x && loc2->y <= loc1->y);
! else if (compareX)
! context->condition = (loc2->x <= loc1->x);
! else
! context->condition = (loc2->y <= loc1->y);
! break;
! case IOPceq:
! if (compareX && compareY)
! context->condition = (loc2->x == loc1->x && loc2->y == loc1->y);
! else if (compareX)
! context->condition = (loc2->x == loc1->x);
! else
! context->condition = (loc2->y == loc1->y);
! break;
! case IOPcneq:
!
! #if DEBUG_OPCOMPARE
! dbg(DBG_USR1, "OPcompareM: Performing cneq...\n");
! #endif
!
! if (compareX && compareY) {
!
! #if DEBUG_OPCOMPARE
! dbg(DBG_USR1, "OPcompareM: Comparing both X and Y axis...\n");
! #endif
!
! context->condition = (loc2->x != loc1->x || loc2->y != loc1->y);
!
! #if DEBUG_OPCOMPARE
! dbg(DBG_USR1, "OPcompareM: condition = %i\n", context->condition);
! #endif
!
! } else if (compareX)
! context->condition = (loc2->x != loc1->x);
! else
! context->condition = (loc2->y != loc1->y);
! break;
! default:
! context->condition = 0;
! }
! return SUCCESS;
! }
!
! /* inline result_t compareValLoc(uint8_t instr, AgillaAgentContext* context,
! AgillaValue* val, AgillaLocation* loc)
! {
! bool compareX = TRUE, compareY = TRUE;
! if (context->heap.pos[AGILLA_HEAP_SIZE-1].vtype == AGILLA_TYPE_VALUE) {
! if (context->heap.pos[AGILLA_HEAP_SIZE-1].value.value == 1)
! compareY = FALSE;
! else if (context->heap.pos[AGILLA_HEAP_SIZE-1].value.value == 2)
! compareX = FALSE;
! }
!
! switch(instr) {
! case IOPcgt:
! if (compareX && compareY)
! context->condition = (loc->x > val->val && loc->y > val->val);
! else if (compareX)
! context->condition = (loc->x > loc1->x);
! else
! context->condition = (loc->y > loc1->y);
! break;
! case IOPcgte:
! if (compareX && compareY)
! context->condition = (loc2->x >= loc1->x && loc2->y >= loc1->y);
! else if (compareX)
! context->condition = (loc2->x >= loc1->x);
! else
! context->condition = (loc2->y >= loc1->y);
! break;
! case IOPclt:
! if (compareX && compareY)
! context->condition = (loc2->x < loc1->x && loc2->y < loc1->y);
! else if (compareX)
! context->condition = (loc2->x < loc1->x);
! else
! context->condition = (loc2->y < loc1->y);
! break;
! case IOPclte:
! if (compareX && compareY)
! context->condition = (loc2->x <= loc1->x && loc2->y <= loc1->y);
! else if (compareX)
! context->condition = (loc2->x <= loc1->x);
! else
! context->condition = (loc2->y <= loc1->y);
! break;
! case IOPceq:
! if (compareX && compareY)
! context->condition = (loc2->x == loc1->x && loc2->y == loc1->y);
! else if (compareX)
! context->condition = (loc2->x == loc1->x);
! else
! context->condition = (loc2->y == loc1->y);
! break;
! case IOPcneq:
! if (compareX && compareY)
! context->condition = (loc2->x != loc1->x && loc2->y != loc1->y);
! else if (compareX)
! context->condition = (loc2->x != loc1->x);
! else
! context->condition = (loc2->y != loc1->y);
! break;
! default:
! context->condition = 0;
! }
! return SUCCESS;
! } */
!
! inline result_t compare2ids(uint8_t instr, AgillaAgentContext* context,
! AgillaAgentID* id1, AgillaAgentID* id2)
! {
! switch(instr) {
! case IOPcgt:
! context->condition = (id2->id > id1->id);
! break;
! case IOPcgte:
! context->condition = (id2->id >= id1->id);
! break;
! case IOPclt:
! context->condition = (id2->id < id1->id);
! break;
! case IOPclte:
! context->condition = (id2->id <= id1->id);
! break;
! case IOPceq:
! context->condition = (id2->id == id1->id);
! break;
! case IOPcneq:
! context->condition = (id2->id != id1->id);
! break;
! default:
! context->condition = 0;
! }
! return SUCCESS;
! }
!
! inline result_t compare2strings(uint8_t instr, AgillaAgentContext* context,
! AgillaString* string1, AgillaString* string2)
! {
! switch(instr) {
! case IOPcgt:
! context->condition = (string2->string > string1->string);
! break;
! case IOPcgte:
! context->condition = (string2->string >= string1->string);
! break;
! case IOPclt:
! context->condition = (string2->string < string1->string);
! break;
! case IOPclte:
! context->condition = (string2->string <= string1->string);
! break;
! case IOPceq:
! context->condition = (string2->string == string1->string);
! break;
! case IOPcneq:
! context->condition = (string2->string != string1->string);
! break;
! default:
! context->condition = 0;
! }
! return SUCCESS;
! }
!
! inline result_t compare2types(uint8_t instr, AgillaAgentContext* context,
! AgillaType* type1, AgillaType* type2)
! {
! switch(instr) {
! case IOPceq:
! context->condition = (type2->type == type1->type);
! break;
! case IOPcneq:
! context->condition = (type2->type != type1->type);
! break;
! default:
! context->condition = 0;
! }
! return SUCCESS;
! }
!
! inline result_t compare2rtypes(uint8_t instr, AgillaAgentContext* context,
! AgillaRType* rtype1, AgillaRType* rtype2)
! {