鸿蒙研究站
|
官方文档
|
源码分析
== 鸿蒙内核参考手册 ==
内核注释
|
论坛
|
赞助作者
更新日期: 2022/06/01 来源: https://gitee.com/weharmony/kernel_liteos_a_note
los_ipcdebug_pri.h
浏览该文件的文档.
1
/*
2
* Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved.
3
* Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without modification,
6
* are permitted provided that the following conditions are met:
7
*
8
* 1. Redistributions of source code must retain the above copyright notice, this list of
9
* conditions and the following disclaimer.
10
*
11
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
12
* of conditions and the following disclaimer in the documentation and/or other materials
13
* provided with the distribution.
14
*
15
* 3. Neither the name of the copyright holder nor the names of its contributors may be used
16
* to endorse or promote products derived from this software without specific prior written
17
* permission.
18
*
19
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
23
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
26
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
27
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
28
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
29
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
*/
31
32
#ifndef _LOS_IPCDEBUG_PRI_H
33
#define _LOS_IPCDEBUG_PRI_H
34
35
#include "
los_typedef.h
"
36
37
#ifdef __cplusplus
38
#if __cplusplus
39
extern
"C"
{
40
#endif
/* __cplusplus */
41
#endif
/* __cplusplus */
42
43
typedef
struct
{
44
CHAR
*
buf
;
/**< Control block array total buffer */
45
size_t
ipcDebugCBSize
;
/**< Single control block size */
46
size_t
ipcDebugCBCnt
;
/**< Number of control blocks */
47
UINT32
sortElemOff
;
/**< The offset of the member to be compared in the control block */
48
}
IpcSortParam
;
49
50
/* Compare the size of the last access time */
51
typedef
BOOL
(*
OsCompareFunc
)(
const
IpcSortParam
*sortParam,
UINT32
left,
UINT32
right);
52
53
/* Get the address of the comparison member variable */
54
#define SORT_ELEM_ADDR(sortParam, index) \
55
((sortParam)->buf + ((index) * (sortParam)->ipcDebugCBSize) + (sortParam)->sortElemOff)
56
57
/* Sort this index array. */
58
extern
VOID
OsArraySortByTime
(
UINT32
*sortArray,
UINT32
start,
UINT32
end,
const
IpcSortParam
*sortParam,
59
OsCompareFunc
compareFunc);
60
61
#ifdef __cplusplus
62
#if __cplusplus
63
}
64
#endif
/* __cplusplus */
65
#endif
/* __cplusplus */
66
67
#endif
/* _LOS_IPCDEBUG_PRI_H */
OsCompareFunc
BOOL(* OsCompareFunc)(const IpcSortParam *sortParam, UINT32 left, UINT32 right)
Definition:
los_ipcdebug_pri.h:51
OsArraySortByTime
VOID OsArraySortByTime(UINT32 *sortArray, UINT32 start, UINT32 end, const IpcSortParam *sortParam, OsCompareFunc compareFunc)
Definition:
los_ipcdebug.c:37
los_typedef.h
UINT32
unsigned int UINT32
Definition:
los_typedef.h:57
CHAR
char CHAR
Definition:
los_typedef.h:63
BOOL
size_t BOOL
Definition:
los_typedef.h:88
IpcSortParam
Definition:
los_ipcdebug_pri.h:43
IpcSortParam::buf
CHAR * buf
Definition:
los_ipcdebug_pri.h:44
IpcSortParam::sortElemOff
UINT32 sortElemOff
Definition:
los_ipcdebug_pri.h:47
IpcSortParam::ipcDebugCBCnt
size_t ipcDebugCBCnt
Definition:
los_ipcdebug_pri.h:46
IpcSortParam::ipcDebugCBSize
size_t ipcDebugCBSize
Definition:
los_ipcdebug_pri.h:45
kernel
base
include
los_ipcdebug_pri.h
公众号:鸿蒙研究站(weharmonyos)
|
论坛: bbs.weharmonyos.com
| 制作者
鸿蒙研究站 | weharmonyos.com