鸿蒙研究站
|
官方文档
|
源码分析
== 鸿蒙内核参考手册 ==
内核注释
|
论坛
|
赞助作者
更新日期: 2022/06/01 来源: https://gitee.com/weharmony/kernel_liteos_a_note
los_dev_quickstart.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_DEV_QUICKSTART_H__
33
#define __LOS_DEV_QUICKSTART_H__
34
35
#include "
los_typedef.h
"
36
#include "sys/ioctl.h"
37
38
#ifdef __cplusplus
39
#if __cplusplus
40
extern
"C"
{
41
#endif
/* __cplusplus */
42
#endif
/* __cplusplus */
43
44
typedef
enum
{
45
QS_STAGE1
= 1,
/* 1: start from stage1, 0 is already called in kernel process */
46
QS_STAGE2
,
/* system init stage No 2 */
47
QS_STAGE3
,
/* system init stage No 3 */
48
QS_STAGE_LIMIT
49
}
QuickstartStage
;
50
51
typedef
enum
{
52
QS_NOTIFY
=
QS_STAGE_LIMIT
,
/* quickstart notify */
53
QS_LISTEN
,
/* quickstart listen */
54
QS_CTL_LIMIT
55
}
QuickstartConctrl
;
56
57
typedef
struct
{
58
unsigned
int
events
;
59
unsigned
int
wait
;
60
}
QuickstartListenArgs
;
61
62
#define QUICKSTART_IOC_MAGIC 'T'
63
#define QUICKSTART_NOTIFY _IO(QUICKSTART_IOC_MAGIC, QS_NOTIFY)
64
#define QUICKSTART_LISTEN _IOR(QUICKSTART_IOC_MAGIC, QS_LISTEN, QuickstartListenArgs)
65
#define QUICKSTART_STAGE(x) _IO(QUICKSTART_IOC_MAGIC, (x))
66
67
#define QUICKSTART_NODE "/dev/quickstart"
68
69
#define QS_STAGE_CNT (QS_STAGE_LIMIT - QS_STAGE1)
70
71
typedef
void
(*
SysteminitHook
)(
void
);
72
73
typedef
struct
{
74
SysteminitHook
func[QS_STAGE_CNT];
75
}
LosSysteminitHook
;
76
77
extern
void
QuickstartHookRegister
(
LosSysteminitHook
hooks);
78
79
extern
int
QuickstartDevRegister
(
void
);
80
81
#ifdef __cplusplus
82
#if __cplusplus
83
}
84
#endif
/* __cplusplus */
85
#endif
/* __cplusplus */
86
87
#endif
SysteminitHook
void(* SysteminitHook)(void)
Definition:
los_dev_quickstart.h:71
QuickstartHookRegister
void QuickstartHookRegister(LosSysteminitHook hooks)
Definition:
quickstart.c:84
QuickstartDevRegister
int QuickstartDevRegister(void)
Definition:
quickstart.c:137
QuickstartConctrl
QuickstartConctrl
Definition:
los_dev_quickstart.h:51
QS_CTL_LIMIT
@ QS_CTL_LIMIT
Definition:
los_dev_quickstart.h:54
QS_LISTEN
@ QS_LISTEN
Definition:
los_dev_quickstart.h:53
QS_NOTIFY
@ QS_NOTIFY
Definition:
los_dev_quickstart.h:52
QuickstartStage
QuickstartStage
Definition:
los_dev_quickstart.h:44
QS_STAGE2
@ QS_STAGE2
Definition:
los_dev_quickstart.h:46
QS_STAGE_LIMIT
@ QS_STAGE_LIMIT
Definition:
los_dev_quickstart.h:48
QS_STAGE1
@ QS_STAGE1
Definition:
los_dev_quickstart.h:45
QS_STAGE3
@ QS_STAGE3
Definition:
los_dev_quickstart.h:47
los_typedef.h
LosSysteminitHook
Definition:
los_dev_quickstart.h:73
QuickstartListenArgs
Definition:
los_dev_quickstart.h:57
QuickstartListenArgs::wait
unsigned int wait
Definition:
los_dev_quickstart.h:59
QuickstartListenArgs::events
unsigned int events
Definition:
los_dev_quickstart.h:58
void
ARG_NUM_3 ARG_NUM_1 ARG_NUM_2 ARG_NUM_2 ARG_NUM_3 ARG_NUM_1 ARG_NUM_4 ARG_NUM_2 ARG_NUM_2 ARG_NUM_5 ARG_NUM_2 void
Definition:
syscall_lookup.h:62
drivers
char
quickstart
include
los_dev_quickstart.h
公众号:鸿蒙研究站(weharmonyos)
|
论坛: bbs.weharmonyos.com
| 制作者
鸿蒙研究站 | weharmonyos.com