Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BadOS Project
BWL
提交
e24bb569
B
BWL
项目概览
BadOS Project
/
BWL
通知
0
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
B
BWL
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
e24bb569
编写于
7月 31, 2022
作者:
指向BIOS的野指针
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
finish bwl starting
上级
54e58f47
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
20 deletion
+9
-20
BWLserver/server.hh
BWLserver/server.hh
+9
-20
未找到文件。
BWLserver/server.hh
浏览文件 @
e24bb569
...
...
@@ -127,46 +127,35 @@ inline void relaunch_updater()
void
start_bwl_server
()
{
server_recv
.
open
(
"/dev/bwl/reciever.pipe"
,
bwl
::
Pipe
::
in
);
signal
(
SIGBWLREQ
,
bwl
::
reqrec
);
bwl
::
initDisplay
(
monitor_device
);
//获取屏幕的帧缓冲
char
*
buffer
=
(
char
*
)
bwl
::
getDrmBuffer
();
bwl
::
drm_buffer
=
buffer
;
//向控制数据文件写数据供用户读取
std
::
fstream
data
(
BWLDIR
+
"/data/monitor"
,
std
::
ios
::
out
);
data
<<
bwl
::
getDisplayWidth
()
<<
'\n'
<<
bwl
::
getDisplayHeight
()
<<
'\n'
<<
getDisplayPixDpt
();
data
.
close
();
bwl
::
setmonitor
(
bwl
::
getDisplayWidth
(),
bwl
::
getDisplayHeight
(),
getDisplayPixDpt
());
bwl
::
drm_buffer
=
buffer
;
bwl
::
log
(
"init finished."
);
//初始化完成
//初始化数据
bwl
::
__page
*
p0
=
bwl
::
createPage
(
0
);
//初始化
服务器
完成
//初始化
基础
数据
bwl
::
__page
*
p0
=
bwl
::
createPage
(
0
);
//创建page0,又称为logpage,用于打印日志
if
(
p0
==
(
bwl
::
__page
*
)
-
2
)
{
bwl
::
bwl_exit
(
30
);
bwl
::
bwl_exit
(
LOGPAGE_INIT_FAILED
);
}
pages
[
0
]
=
p0
;
current_pgid
=
0
;
pages
[
0
]
->
owners
[
pages
[
0
]
->
ownerc
++
]
=
getpid
();
for
(
int
i
=
0
;
i
<
bwl
::
getMonitorWidth
();
i
++
)
for
(
int
j
=
0
;
j
<
bwl
::
getMonitorHeight
();
j
++
)
{
buffer_at
(
p0
->
server_bg_layer
,
i
,
j
,
bwl
::
getMonitorWidth
())
=
0x00101011
;
}
//标记运行中
server_running
=
true
;
//给p0背景刷新
bwl
::
__updating_signals
::
bg
udblk
;
udblk
.
sig
=
true
;
udblk
.
pos
[
0
]
=
-
1
;
udblk
.
pos
[
1
]
=
0
;
udblk
.
size
[
0
]
=
0
;
udblk
.
size
[
1
]
=
0
;
bwl
::
__ud
.
bg_update_que
.
push
(
udblk
);
//启动刷新线程
launch_updater
();
//启动guilog
bwl
::
initGUILog
((
uint32_t
*
)
p0
->
server_bg_layer
,
bwl
::
getMonitorWidth
(),
bwl
::
getMonitorHeight
(),
0x00101011
);
signal
(
SIGBWLREQ
,
bwl
::
reqrec
);
//开始接收用户程序信号
bwl
::
putString
(
"
\f
bwl-server running."
);
//向logpage打印日志
}
#endif
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录