summaryrefslogtreecommitdiff
path: root/software/include/oct6100api/oct6100_apiud.h
diff options
context:
space:
mode:
Diffstat (limited to 'software/include/oct6100api/oct6100_apiud.h')
-rw-r--r--software/include/oct6100api/oct6100_apiud.h309
1 files changed, 309 insertions, 0 deletions
diff --git a/software/include/oct6100api/oct6100_apiud.h b/software/include/oct6100api/oct6100_apiud.h
new file mode 100644
index 0000000..053a36c
--- /dev/null
+++ b/software/include/oct6100api/oct6100_apiud.h
@@ -0,0 +1,309 @@
+/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
+
+File: oct6100_apiud.h
+
+ Copyright (c) 2001-2005 Octasic Inc.
+
+Description:
+
+ Header file containing the definitions and prototypes that are to be
+ completed by the user.
+
+This file is part of the Octasic OCT6100 GPL API . The OCT6100 GPL API is
+free software; you can redistribute it and/or modify it under the terms of
+the GNU General Public License as published by the Free Software Foundation;
+either version 2 of the License, or (at your option) any later version.
+
+The OCT6100 GPL API is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with the OCT6100 GPL API; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+
+$Octasic_Release: OCT612xAPI-01.00-PR38 $
+
+$Octasic_Revision: 15 $
+
+\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
+
+#ifndef __OCT6100_APIUD_H__
+#define __OCT6100_APIUD_H__
+
+/***************************** INCLUDE FILES *******************************/
+
+#include "octdef.h"
+
+/***************************** DEFINES *************************************/
+
+
+/* Determines the maximum length of a burst of reads/writes. This value must
+ be in the range 8 - 1024. This value obtains best performance if set to
+ a power of 2 (i.e. 2^n). */
+#define cOCT6100_MAX_RW_ACCESSES 32
+
+/* The define used to specify that the Oct6100SeizeSerializeObject function
+ is not to return until the specified serialization object has been seized. */
+#define cOCT6100_WAIT_INFINITELY 0xFFFFFFFF
+
+
+/* Compile option: enabling this compile option inserts code to check every
+ call to a user provided function to make sure the function parameters
+ are not changed, as required by the API specification. */
+#define cOCT6100_USER_FUNCTION_CHECK
+
+
+
+#define cOCT6100_GET_TIME_FAILED_0 0xFFFF0000
+#define cOCT6100_GET_TIME_FAILED_1 0xFFFF0001
+#define cOCT6100_GET_TIME_FAILED_2 0xFFFF0002
+#define cOCT6100_GET_TIME_FAILED_3 0xFFFF0003
+#define cOCT6100_GET_TIME_FAILED_4 0xFFFF0004
+
+#define cOCT6100_CREATE_SERIAL_FAILED_0 0xFFFF0010
+#define cOCT6100_CREATE_SERIAL_FAILED_1 0xFFFF0011
+#define cOCT6100_CREATE_SERIAL_FAILED_2 0xFFFF0012
+#define cOCT6100_CREATE_SERIAL_FAILED_3 0xFFFF0013
+#define cOCT6100_CREATE_SERIAL_FAILED_4 0xFFFF0014
+
+#define cOCT6100_DESTROY_SERIAL_FAILED_0 0xFFFF0020
+#define cOCT6100_DESTROY_SERIAL_FAILED_1 0xFFFF0021
+#define cOCT6100_DESTROY_SERIAL_FAILED_2 0xFFFF0022
+#define cOCT6100_DESTROY_SERIAL_FAILED_3 0xFFFF0023
+#define cOCT6100_DESTROY_SERIAL_FAILED_4 0xFFFF0024
+
+#define cOCT6100_INVALID_SERIAL_HANDLE_0 0xFFFF0030
+#define cOCT6100_INVALID_SERIAL_HANDLE_1 0xFFFF0031
+#define cOCT6100_INVALID_SERIAL_HANDLE_2 0xFFFF0032
+#define cOCT6100_INVALID_SERIAL_HANDLE_3 0xFFFF0033
+#define cOCT6100_INVALID_SERIAL_HANDLE_4 0xFFFF0034
+
+#define cOCT6100_RELEASE_SERIAL_FAILED_0 0xFFFF0040
+#define cOCT6100_RELEASE_SERIAL_FAILED_1 0xFFFF0041
+#define cOCT6100_RELEASE_SERIAL_FAILED_2 0xFFFF0042
+#define cOCT6100_RELEASE_SERIAL_FAILED_3 0xFFFF0043
+#define cOCT6100_RELEASE_SERIAL_FAILED_4 0xFFFF0044
+
+#define cOCT6100_SEIZE_SERIAL_FAILED_0 0xFFFF0050
+#define cOCT6100_SEIZE_SERIAL_FAILED_1 0xFFFF0051
+#define cOCT6100_SEIZE_SERIAL_FAILED_2 0xFFFF0052
+#define cOCT6100_SEIZE_SERIAL_FAILED_3 0xFFFF0053
+#define cOCT6100_SEIZE_SERIAL_FAILED_4 0xFFFF0054
+
+#define cOCT6100_DRIVER_WRITE_FAILED_0 0xFFFF0060
+#define cOCT6100_DRIVER_WRITE_FAILED_1 0xFFFF0061
+#define cOCT6100_DRIVER_WRITE_FAILED_2 0xFFFF0062
+#define cOCT6100_DRIVER_WRITE_FAILED_3 0xFFFF0063
+#define cOCT6100_DRIVER_WRITE_FAILED_4 0xFFFF0064
+
+#define cOCT6100_DRIVER_WSMEAR_FAILED_0 0xFFFF0070
+#define cOCT6100_DRIVER_WSMEAR_FAILED_1 0xFFFF0071
+#define cOCT6100_DRIVER_WSMEAR_FAILED_2 0xFFFF0072
+#define cOCT6100_DRIVER_WSMEAR_FAILED_3 0xFFFF0073
+#define cOCT6100_DRIVER_WSMEAR_FAILED_4 0xFFFF0074
+
+#define cOCT6100_DRIVER_WBURST_FAILED_0 0xFFFF0080
+#define cOCT6100_DRIVER_WBURST_FAILED_1 0xFFFF0081
+#define cOCT6100_DRIVER_WBURST_FAILED_2 0xFFFF0082
+#define cOCT6100_DRIVER_WBURST_FAILED_3 0xFFFF0083
+#define cOCT6100_DRIVER_WBURST_FAILED_4 0xFFFF0084
+
+#define cOCT6100_DRIVER_READ_FAILED_0 0xFFFF0090
+#define cOCT6100_DRIVER_READ_FAILED_1 0xFFFF0091
+#define cOCT6100_DRIVER_READ_FAILED_2 0xFFFF0092
+#define cOCT6100_DRIVER_READ_FAILED_3 0xFFFF0093
+#define cOCT6100_DRIVER_READ_FAILED_4 0xFFFF0094
+
+#define cOCT6100_DRIVER_RBURST_FAILED_0 0xFFFF00A0
+#define cOCT6100_DRIVER_RBURST_FAILED_1 0xFFFF00A1
+#define cOCT6100_DRIVER_RBURST_FAILED_2 0xFFFF00A2
+#define cOCT6100_DRIVER_RBURST_FAILED_3 0xFFFF00A3
+#define cOCT6100_DRIVER_RBURST_FAILED_4 0xFFFF00A4
+
+
+
+
+
+/***************************** TYPES ***************************************/
+
+typedef struct _OCT6100_GET_TIME_
+{
+ PVOID pProcessContext;
+ UINT32 aulWallTimeUs[ 2 ];
+
+} tOCT6100_GET_TIME, *tPOCT6100_GET_TIME;
+
+
+
+
+
+typedef struct _OCT6100_CREATE_SERIALIZE_OBJECT_
+{
+ PVOID pProcessContext;
+ PSZ pszSerialObjName;
+ UINT32 ulSerialObjHndl;
+
+} tOCT6100_CREATE_SERIALIZE_OBJECT, *tPOCT6100_CREATE_SERIALIZE_OBJECT;
+
+
+typedef struct _OCT6100_DESTROY_SERIALIZE_OBJECT_
+{
+ PVOID pProcessContext;
+ UINT32 ulSerialObjHndl;
+
+} tOCT6100_DESTROY_SERIALIZE_OBJECT, *tPOCT6100_DESTROY_SERIALIZE_OBJECT;
+
+
+typedef struct _OCT6100_SEIZE_SERIALIZE_OBJECT_
+{
+ PVOID pProcessContext;
+ UINT32 ulSerialObjHndl;
+ UINT32 ulTryTimeMs;
+
+} tOCT6100_SEIZE_SERIALIZE_OBJECT, *tPOCT6100_SEIZE_SERIALIZE_OBJECT;
+
+
+typedef struct _OCT6100_RELEASE_SERIALIZE_OBJECT_
+{
+ PVOID pProcessContext;
+ UINT32 ulSerialObjHndl;
+
+} tOCT6100_RELEASE_SERIALIZE_OBJECT, *tPOCT6100_RELEASE_SERIALIZE_OBJECT;
+
+
+typedef struct _OCT6100_WRITE_PARAMS_
+{
+ PVOID pProcessContext;
+
+ UINT32 ulUserChipId;
+ UINT32 ulWriteAddress;
+ UINT16 usWriteData;
+
+} tOCT6100_WRITE_PARAMS, *tPOCT6100_WRITE_PARAMS;
+
+
+typedef struct _OCT6100_WRITE_SMEAR_PARAMS_
+{
+ PVOID pProcessContext;
+
+ UINT32 ulUserChipId;
+ UINT32 ulWriteAddress;
+ UINT32 ulWriteLength;
+ UINT16 usWriteData;
+
+} tOCT6100_WRITE_SMEAR_PARAMS, *tPOCT6100_WRITE_SMEAR_PARAMS;
+
+
+typedef struct _OCT6100_WRITE_BURST_PARAMS_
+{
+ PVOID pProcessContext;
+
+ UINT32 ulUserChipId;
+ UINT32 ulWriteAddress;
+ UINT32 ulWriteLength;
+ PUINT16 pusWriteData;
+
+} tOCT6100_WRITE_BURST_PARAMS, *tPOCT6100_WRITE_BURST_PARAMS;
+
+
+typedef struct _OCT6100_READ_PARAMS_
+{
+ PVOID pProcessContext;
+
+ UINT32 ulUserChipId;
+ UINT32 ulReadAddress;
+ PUINT16 pusReadData;
+
+} tOCT6100_READ_PARAMS, *tPOCT6100_READ_PARAMS;
+
+
+typedef struct _OCT6100_READ_BURST_PARAMS_
+{
+ PVOID pProcessContext;
+
+ UINT32 ulUserChipId;
+ UINT32 ulReadAddress;
+ UINT32 ulReadLength;
+ PUINT16 pusReadData;
+
+} tOCT6100_READ_BURST_PARAMS, *tPOCT6100_READ_BURST_PARAMS;
+
+
+
+
+
+
+
+
+/************************** FUNCTION PROTOTYPES *****************************/
+
+/* Time function. */
+UINT32 Oct6100UserGetTime(
+ IN OUT tPOCT6100_GET_TIME f_pTime );
+
+
+
+/* Memory management functions. */
+UINT32 Oct6100UserMemSet(
+ IN PVOID f_pAddress,
+ IN UINT32 f_ulPattern,
+ IN UINT32 f_ulLength );
+
+UINT32 Oct6100UserMemCopy(
+ IN PVOID f_pDestination,
+ IN PVOID f_pSource,
+ IN UINT32 f_ulLength );
+
+/* Serialization functions. */
+UINT32 Oct6100UserCreateSerializeObject(
+ IN OUT tPOCT6100_CREATE_SERIALIZE_OBJECT f_pCreate);
+
+UINT32 Oct6100UserDestroySerializeObject(
+ IN tPOCT6100_DESTROY_SERIALIZE_OBJECT f_pDestroy);
+
+UINT32 Oct6100UserSeizeSerializeObject(
+ IN tPOCT6100_SEIZE_SERIALIZE_OBJECT f_pSeize);
+
+UINT32 Oct6100UserReleaseSerializeObject(
+ IN tPOCT6100_RELEASE_SERIALIZE_OBJECT f_pRelease);
+
+/* Read/Write functions.*/
+UINT32 Oct6100UserDriverWriteApi(
+ IN tPOCT6100_WRITE_PARAMS f_pWriteParams );
+
+UINT32 Oct6100UserDriverWriteOs(
+ IN tPOCT6100_WRITE_PARAMS f_pWriteParams );
+
+UINT32 Oct6100UserDriverWriteSmearApi(
+ IN tPOCT6100_WRITE_SMEAR_PARAMS f_pSmearParams );
+
+UINT32 Oct6100UserDriverWriteSmearOs(
+ IN tPOCT6100_WRITE_SMEAR_PARAMS f_pSmearParams );
+
+UINT32 Oct6100UserDriverWriteBurstApi(
+ IN tPOCT6100_WRITE_BURST_PARAMS f_pBurstParams );
+
+UINT32 Oct6100UserDriverWriteBurstOs(
+ IN tPOCT6100_WRITE_BURST_PARAMS f_pBurstParams );
+
+UINT32 Oct6100UserDriverReadApi(
+ IN OUT tPOCT6100_READ_PARAMS f_pReadParams );
+
+UINT32 Oct6100UserDriverReadOs(
+ IN OUT tPOCT6100_READ_PARAMS f_pReadParams );
+
+UINT32 Oct6100UserDriverReadBurstApi(
+ IN OUT tPOCT6100_READ_BURST_PARAMS f_pBurstParams );
+
+UINT32 Oct6100UserDriverReadBurstOs(
+ IN OUT tPOCT6100_READ_BURST_PARAMS f_pBurstParams );
+
+
+
+
+
+
+
+#endif /* __OCT6100_APIUD_H__ */