/*---------------------------------------------------------------------------* Copyright (C) 2009-2013 Nintendo. All rights reserved. These coded instructions, statements, and computer programs contain proprietary information of Nintendo of America Inc. and/or Nintendo Company Ltd., and are protected by Federal copyright law. They may not be disclosed to third parties or copied or duplicated in any form, in whole or in part, without the prior written consent of Nintendo. *---------------------------------------------------------------------------*/ /* * Common memory resource query structure and defines * Created by Gunter M. Zieber 11/11/11 */ #ifndef __MEM_RES_H__ #define __MEM_RES_H__ #ifdef __cplusplus extern "C" { #endif typedef struct { unsigned long int size; unsigned long int alignment; unsigned long int quantum; unsigned long int num_quanta; unsigned long int max_quanta; unsigned long int flags; unsigned long int links[3]; } mem_res_query_element_t; #define FLAG_MEM_RES_DMA (1 << 0) #define FLAG_MEM_RES_ITD (1 << 1) #define FLAG_MEM_RES_ITD_PAYLOAD (1 << 2) #define FLAG_MEM_RES_IPC (1 << 3) #define FLAG_MEM_RES_INST (1 << 4) #define FLAG_MEM_RES_OVERPROVIDE (1 << 5) typedef struct { unsigned long int num_mem_res; mem_res_query_element_t* p_mem_res; } mem_res_query_t; typedef struct { unsigned long int size; unsigned long int alignment; unsigned long int quantum; unsigned long int num_quanta; unsigned long int flags; void* pv; } mem_res_element_t; typedef struct { unsigned long int num_mem_res; mem_res_element_t* p_mem_res; } mem_res_t; #ifdef __cplusplus } #endif #endif // __MEM_RES_H__