1 /*---------------------------------------------------------------------------*
2 
3   Copyright (C) 2012 Nintendo. All rights reserved.
4 
5   These coded instructions, statements, and computer programs contain
6   proprietary information of Nintendo of America Inc. and/or Nintendo
7   Company Ltd., and are protected by Federal copyright law.  They may
8   not be disclosed to third parties or copied or duplicated in any form,
9   in whole or in part, without the prior written consent of Nintendo.
10 
11  *---------------------------------------------------------------------------*/
12 
13 #ifndef NN_BOSS_BOSS_DATASTORETYPES_H_
14 #define NN_BOSS_BOSS_DATASTORETYPES_H_
15 
16 #include <nn/types.h>
17 
18 /*=======================================================================*
19     Type Definitions
20  *=======================================================================*/
21 
22 #ifdef __cplusplus
23 
24 namespace nn {
25 namespace boss {
26 
27 /*!
28   @addtogroup nn_boss_api
29   @{
30 */
31 /*!
32     @brief <tt>DataStore</tt>-related definitions.
33 */
34 namespace datastore
35 {
36     typedef u64  DataIdType;          //!< Type for the <tt>DataStore</tt> data ID.
37     typedef u64  DataSizeType;        //!< Type for the <tt>DataStore</tt> data size.
38     typedef u32  DataTypeType;        //!< Type for the <tt>DataStore</tt> data type.
39     typedef u32  OwnerIdType;         //!< Type for the <tt>DataStore</tt> sender ID.
40     typedef u32  DataVersionType;     //!< Type for the <tt>DataStore</tt> data version.
41     typedef u64  NotificationIdType;  //!< Type for the <tt>DataStore</tt> notification ID.
42 
43 
44     /*!
45         @brief Contains download data attributes.
46     */
47     struct DataAttributes
48     {
49         DataVersionType     version;         //!< Data version.
50         DataTypeType        type;            //!< Data type.
51         OwnerIdType         ownerId;         //!< Data sender ID.
52         u8   padding[4];
53         DataIdType          id;              //!< Data ID.
54         NotificationIdType  notificationId;  //!< Data notification ID.
55         DataSizeType        size;            //!< Data size.
56     };
57 } // end of namespace datastore
58 
59 
60 //! @}
61 
62 } // end of namespace boss
63 } // end of namespace nn
64 
65 
66 #endif /*__cplusplus*/
67 
68 #endif /* NN_BOSS_BOSS_DATASTORETYPES_H_ */
69