blob: 6f59b1c8ede68ad421a134253429c46d1e2d64ab [file] [log] [blame]
/*
* sys_service.h
*
* This file is the header for all standard types used in the API code.
*
* Copyright (c) 2005, Legerity Inc.
* All rights reserved
*
* This software is the property of Legerity , Inc. Please refer to the
* Non Disclosure Agreement (NDA) that you have signed for more information
* on legal obligations in using, modifying or distributing this file.
*/
#ifndef SYS_SERVICE_H
#define SYS_SERVICE_H
#include "vp_api_types.h"
/* Critical section types */
typedef enum {
VP_MPI_CRITICAL_SEC, /* MPI access critical code section */
VP_HBI_CRITICAL_SEC, /* HBI access critical code section */
VP_CODE_CRITICAL_SEC, /* Critical code section */
VP_NUM_CRITICAL_SEC_TYPES, /* The number of critical section types */
VP_CRITICAL_SEC_ENUM_SIZE = FORCE_STANDARD_C_ENUM_SIZE /* Portability Req. */
} VpCriticalSecType;
EXTERN uint8
VpSysEnterCritical(
VpDeviceIdType deviceId,
VpCriticalSecType criticalSecType);
EXTERN uint8
VpSysExitCritical(
VpDeviceIdType deviceId,
VpCriticalSecType criticalSecType);
EXTERN void
VpSysWait(
uint8 time);
EXTERN void
VpSysDisableInt(
VpDeviceIdType deviceId);
EXTERN void
VpSysEnableInt(
VpDeviceIdType deviceId);
EXTERN bool
VpSysTestInt(
VpDeviceIdType deviceId);
EXTERN void
VpSysDtmfDetEnable(
VpDeviceIdType deviceId,
uint8 channelId);
EXTERN void
VpSysDtmfDetDisable(
VpDeviceIdType deviceId,
uint8 channelId);
EXTERN void *
VpSysTestHeapAcquire(
uint8 *pHeapId);
EXTERN bool
VpSysTestHeapRelease(
uint8 heapId);
EXTERN void
VpSysPcmCollectAndProcess(
void *pLineCtx,
VpDeviceIdType deviceId,
uint8 channelId,
uint8 startTimeslot,
uint16 operationTime,
uint16 settlingTime,
uint16 operationMask);
#ifdef __KERNEL__
#define VpSysDebugPrintf printk
#else
#include <stdio.h>
#define VpSysDebugPrintf printf
#endif
#endif /* SYS_SERVICE_H */