fixes for bc_cat
[sgx.git] / pvr / kernelbuffer.h
1 /**********************************************************************
2  *
3  * Copyright(c) 2008 Imagination Technologies Ltd. All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms and conditions of the GNU General Public License,
7  * version 2, as published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope it will be useful but, except
10  * as otherwise stated in writing, without any warranty; without even the
11  * implied warranty of merchantability or fitness for a particular purpose.
12  * See the GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License along with
15  * this program; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
17  *
18  * The full GNU General Public License is included in this distribution in
19  * the file called "COPYING".
20  *
21  * Contact Information:
22  * Imagination Technologies Ltd. <gpl-support@imgtec.com>
23  * Home Park Estate, Kings Langley, Herts, WD4 8LZ, UK
24  *
25  ******************************************************************************/
26
27 #if !defined(__KERNELBUFFER_H__)
28 #define __KERNELBUFFER_H__
29
30 #include "servicesext.h"
31
32 struct PVRSRV_BC_SRV2BUFFER_KMJTABLE {
33         u32 ui32TableSize;
34         enum PVRSRV_ERROR (*pfnOpenBCDevice)(void **);
35         enum PVRSRV_ERROR (*pfnCloseBCDevice)(void *);
36         enum PVRSRV_ERROR (*pfnGetBCInfo)(void *, struct BUFFER_INFO *);
37         enum PVRSRV_ERROR (*pfnGetBCBuffer)(void *, u32,
38                                        struct PVRSRV_SYNC_DATA *, void **);
39         enum PVRSRV_ERROR (*pfnGetBufferAddr)(void *, void *,
40                                          struct IMG_SYS_PHYADDR **, u32 *,
41                                          void __iomem **, void **, IMG_BOOL *);
42 };
43
44 struct PVRSRV_BC_BUFFER2SRV_KMJTABLE {
45         u32 ui32TableSize;
46         enum PVRSRV_ERROR (*pfnPVRSRVRegisterBCDevice)(
47                         struct PVRSRV_BC_SRV2BUFFER_KMJTABLE *, u32 *);
48         enum PVRSRV_ERROR (*pfnPVRSRVRemoveBCDevice)(u32);
49 };
50
51 IMG_BOOL PVRGetBufferClassJTable(
52                 struct PVRSRV_BC_BUFFER2SRV_KMJTABLE *psJTable);
53
54
55 #endif