blob: 0284bf4189f0d047189c02879437a387a037556b [file] [log] [blame]
/* --COPYRIGHT--,ESD
* Copyright (c) 2008 Texas Instruments. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License
* v. 1.0 which accompanies this distribution. The Eclipse Public License is
* available at http://www.eclipse.org/legal/epl-v10.html and the Eclipse
* Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Texas Instruments - initial implementation
* --/COPYRIGHT--*/
/*
* ======== SyncGeneric.xdc ========
*/
/*!
* ======== SyncGeneric ========
* Generic ISync implementation
*
* This module allows users to plug in their own
* functions for signal, wait and query.
*/
module SyncGeneric inherits xdc.runtime.knl.ISync
{
/*! typedef for user specified signal function */
typedef Void (*SignalFunc)(UArg);
/*! typedef for user specified wait function */
typedef Bool (*WaitFunc)(UArg, UInt);
/*! typedef for user specified wait function */
typedef Bool (*QueryFunc)(Int);
instance:
/*! user signal function */
config SignalFunc userSignal = null;
/*! user signal function arg */
config UArg signalArg = null;
/*! user wait function */
config WaitFunc userWait = null;
/*! user wait function arg */
config UArg waitArg = null;
/*! user query function */
config QueryFunc userQuery = null;
internal:
/* -------- Internal Structures -------- */
struct Instance_State {
SignalFunc userSignal;
UArg signalArg;
WaitFunc userWait;
UArg waitArg;
QueryFunc userQuery;
};
}