OSDN Git Service

Added nt module library directories.
[kozos-expbrd/kozos_expbrd.git] / firm / sample / simple_mp3_player / os / ntlogger / ntldef.h
1 /**
2  * @file ntldef.h
3  * @author Shinichiro Nakamura
4  * @brief NT-Logger共通の定義。
5  */
6
7 /*
8  * ===============================================================
9  *  Natural Tiny Logger (NT-Logger)
10  * ===============================================================
11  * Copyright (c) 2010-2012 Shinichiro Nakamura
12  *
13  * Permission is hereby granted, free of charge, to any person
14  * obtaining a copy of this software and associated documentation
15  * files (the "Software"), to deal in the Software without
16  * restriction, including without limitation the rights to use,
17  * copy, modify, merge, publish, distribute, sublicense, and/or
18  * sell copies of the Software, and to permit persons to whom the
19  * Software is furnished to do so, subject to the following
20  * conditions:
21  *
22  * The above copyright notice and this permission notice shall be
23  * included in all copies or substantial portions of the Software.
24  *
25  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
26  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
27  * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
28  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
29  * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
30  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
31  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
32  * OTHER DEALINGS IN THE SOFTWARE.
33  * ===============================================================
34  */
35
36 #ifndef NTLDEF_H
37 #define NTLDEF_H
38
39 /**
40  * @brief 開始点を表現するタイプ番号。
41  */
42 #define NTLDEF_TYPE_START   (1)
43
44 /**
45  * @brief 終了点を表現するタイプ番号。
46  */
47 #define NTLDEF_TYPE_END     (0)
48
49 /**
50  * @brief パケットを生成する。
51  *
52  * @param TRACK トラック番号。
53  * @param EVENT イベント番号。
54  * @param TYPE  タイプ番号。
55  *
56  * @return パケット。
57  */
58 #define NTLDEF_NTL_PACKET(TRACK, EVENT, TYPE) \
59     ((((TRACK) & 0x0F) << 4) | (((EVENT) & 0x07) << 1) | (((TYPE) & 0x01) << 0))
60
61 /**
62  * @brief パケットからトラック番号を得る。
63  *
64  * @param P パケット。
65  *
66  * @return トラック番号。
67  */
68 #define NTLDEF_NTL_TRACK(P)    (((P) >> 4) & 0x0F)
69
70 /**
71  * @brief パケットからイベント番号を得る。
72  *
73  * @param P パケット。
74  *
75  * @return イベント番号。
76  */
77 #define NTLDEF_NTL_EVENT(P)    (((P) >> 1) & 0x07)
78
79 /**
80  * @brief パケットからタイプ番号を得る。
81  *
82  * @param P パケット。
83  *
84  * @return タイプ番号。
85  */
86 #define NTLDEF_NTL_TYPE(P)    (((P) >> 0) & 0x01)
87
88 #endif
89