Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BadOS Project
BWL
提交
ef11c55a
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 搜索 >>
提交
ef11c55a
编写于
7月 31, 2022
作者:
指向BIOS的野指针
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
deliver all error static number to 'types.h'
上级
97618c2b
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
27 addition
and
18 deletion
+27
-18
includes/bsv.hh
includes/bsv.hh
+0
-3
includes/types.hh
includes/types.hh
+12
-0
libs/bsv.cc
libs/bsv.cc
+6
-6
libs/bwl.cc
libs/bwl.cc
+7
-7
libs/pipe.cc
libs/pipe.cc
+2
-2
未找到文件。
includes/bsv.hh
浏览文件 @
ef11c55a
...
...
@@ -71,7 +71,6 @@ namespace bwl
* @param pgid 对于bwl服务器来说,是使用的pgid
* @return __page*
*/
#define CREATE_PAGE_FAULT (__page *)(-2)
__page
*
BWLAPI
createPage
(
id_t
pgid
);
/**
...
...
@@ -92,8 +91,6 @@ namespace bwl
* @param y 纵坐标
* @return __frame*
*/
#define CREATE_FRAME_FAULT (__frame *)(-2)
#define TRUNCATE_SHM_FAULT (__frame *)(-3)
__frame
*
BWLAPI
createFrame
(
id_t
fid
,
__page
*
page
,
std
::
string
name
,
uint64_t
width
,
uint64_t
height
,
int64_t
x
,
int64_t
y
);
/**
...
...
includes/types.hh
浏览文件 @
ef11c55a
...
...
@@ -26,6 +26,18 @@ extern std::string monitor_device;
#define SHMPAGEDIR (std::string("/dev_bwl") + monitor_device + "_pages_")
#define SHMFRMDIR (std::string("/dev_bwl") + monitor_device + "_frames_")
/* 错误常量 */
#define LOGPAGE_INIT_FAILED (-1) //创建logpage失败
#define CREATE_PAGE_FAULT (-2) //创建页错误
#define CREATE_FRAME_FAULT (-3) //创建窗口错误
#define TRUNCATE_SHM_FAULT (-4) //改变共享内存大小错误
//无法判断到底是创建窗口还是页时发生
#define PIPE_NOT_READABLE (-5)//管道不可读
#define PIPE_NOT_WRITABLE (-6)//管道不可写
namespace
bwl
{
typedef
unsigned
long
long
id_t
;
...
...
libs/bsv.cc
浏览文件 @
ef11c55a
...
...
@@ -52,7 +52,7 @@ namespace bwl
int
shmf
=
shm_open
((
SHMPAGEDIR
+
std
::
to_string
(
pgid
)
+
std
::
string
(
"_shm"
)).
c_str
(),
O_RDWR
|
O_CREAT
,
S_IRUSR
|
S_IWUSR
);
if
(
shmf
==
-
1
)
{
return
CREATE_PAGE_FAULT
;
return
(
__page
*
)
CREATE_PAGE_FAULT
;
}
if
(
ftruncate
(
shmf
,
sizeof
(
__page
)))
{
...
...
@@ -70,7 +70,7 @@ namespace bwl
shmf
=
shm_open
((
SHMPAGEDIR
+
std
::
to_string
(
pgid
)
+
std
::
string
(
"_bgbuffer"
)).
c_str
(),
O_RDWR
|
O_CREAT
,
S_IRUSR
|
S_IWUSR
);
if
(
shmf
==
-
1
)
{
return
CREATE_PAGE_FAULT
;
return
(
__page
*
)
CREATE_PAGE_FAULT
;
}
if
(
ftruncate
(
shmf
,
BGBUFSIZE
))
{
...
...
@@ -120,11 +120,11 @@ namespace bwl
int
shmf
=
shm_open
((
SHMFRMDIR
+
std
::
to_string
(
fid
)
+
"_shm"
).
c_str
(),
O_RDWR
|
O_CREAT
,
S_IRUSR
|
S_IWUSR
);
if
(
shmf
==
-
1
)
{
return
CREATE_FRAME_FAULT
;
return
(
__frame
*
)
CREATE_FRAME_FAULT
;
}
if
(
ftruncate
(
shmf
,
sizeof
(
__frame
)
+
name
.
length
()
+
1
))
{
return
TRUNCATE_SHM_FAULT
;
return
(
__frame
*
)
TRUNCATE_SHM_FAULT
;
}
__frame
*
frame
=
(
__frame
*
)
mmap
(
nullptr
,
sizeof
(
__frame
)
+
name
.
length
()
+
1
,
PROT_READ
|
PROT_WRITE
,
MAP_SHARED
,
shmf
,
0
);
...
...
@@ -152,11 +152,11 @@ namespace bwl
shmf
=
shm_open
((
SHMFRMDIR
+
std
::
to_string
(
fid
)
+
"_buffer"
).
c_str
(),
O_RDWR
|
O_CREAT
,
S_IRUSR
|
S_IWUSR
);
if
(
shmf
==
-
1
)
{
return
CREATE_FRAME_FAULT
;
return
(
__frame
*
)
CREATE_FRAME_FAULT
;
}
if
(
ftruncate
(
shmf
,
FRMBUFSIZE
))
{
return
TRUNCATE_SHM_FAULT
;
return
(
__frame
*
)
TRUNCATE_SHM_FAULT
;
}
frame
->
server_buf
=
mmap
(
nullptr
,
FRMBUFSIZE
,
PROT_READ
|
PROT_WRITE
,
MAP_SHARED
,
shmf
,
0
);
close
(
shmf
);
...
...
libs/bwl.cc
浏览文件 @
ef11c55a
...
...
@@ -77,7 +77,7 @@ namespace bwl
int
shmf
=
std
::
shm_open
((
SHMPAGEDIR
+
std
::
to_string
(
pgid
)
+
"_shm"
).
c_str
(),
O_RDWR
|
O_CREAT
,
S_IRUSR
|
S_IWUSR
);
if
(
shmf
==
-
1
)
{
return
CREATE_PAGE_FAULT
;
return
(
__page
*
)
CREATE_PAGE_FAULT
;
}
__page
*
page
=
(
__page
*
)
std
::
mmap
(
nullptr
,
sizeof
(
__page
),
PROT_READ
|
PROT_WRITE
,
MAP_SHARED
,
shmf
,
0
);
std
::
close
(
shmf
);
...
...
@@ -86,7 +86,7 @@ namespace bwl
shmf
=
std
::
shm_open
((
SHMPAGEDIR
+
std
::
to_string
(
pgid
)
+
"_bgbuffer"
).
c_str
(),
O_RDWR
|
O_CREAT
,
S_IRUSR
|
S_IWUSR
);
if
(
shmf
==
-
1
)
{
return
CREATE_PAGE_FAULT
;
return
(
__page
*
)
CREATE_PAGE_FAULT
;
}
page
->
client_bg_layer
=
std
::
mmap
(
nullptr
,
getBgBuffSize
(),
PROT_READ
|
PROT_WRITE
,
MAP_SHARED
,
shmf
,
0
);
std
::
close
(
shmf
);
...
...
@@ -148,7 +148,7 @@ namespace bwl
int
shmf
=
std
::
shm_open
((
SHMFRMDIR
+
std
::
to_string
(
fid
)
+
"_shm"
).
c_str
(),
O_RDWR
|
O_CREAT
,
S_IRUSR
|
S_IWUSR
);
if
(
shmf
==
-
1
)
{
return
CREATE_FRAME_FAULT
;
return
(
__frame
*
)
CREATE_FRAME_FAULT
;
}
__frame
*
frame
=
(
__frame
*
)
std
::
mmap
(
nullptr
,
sizeof
(
__frame
)
+
name
.
length
()
+
1
,
PROT_READ
|
PROT_WRITE
,
MAP_SHARED
,
shmf
,
0
);
...
...
@@ -159,7 +159,7 @@ namespace bwl
shmf
=
std
::
shm_open
((
SHMFRMDIR
+
std
::
to_string
(
fid
)
+
"_buffer"
).
c_str
(),
O_RDWR
|
O_EXCL
,
S_IRUSR
|
S_IWUSR
);
if
(
shmf
==
-
1
)
{
return
CREATE_FRAME_FAULT
;
return
(
__frame
*
)
CREATE_FRAME_FAULT
;
}
frame
->
client_buf
=
std
::
mmap
(
nullptr
,
width
*
height
*
frame
->
pixdepth
,
PROT_READ
|
PROT_WRITE
,
MAP_SHARED
,
shmf
,
0
);
std
::
close
(
shmf
);
...
...
@@ -217,7 +217,7 @@ namespace bwl
int
shmf
=
std
::
shm_open
((
SHMPAGEDIR
+
std
::
to_string
(
pgid
)
+
"_shm"
).
c_str
(),
O_RDWR
|
O_CREAT
,
S_IRUSR
|
S_IWUSR
);
if
(
shmf
==
-
1
)
{
return
CREATE_PAGE_FAULT
;
return
(
__page
*
)
CREATE_PAGE_FAULT
;
}
__page
*
page
=
(
__page
*
)
std
::
mmap
(
nullptr
,
sizeof
(
__page
),
PROT_READ
,
MAP_SHARED
,
shmf
,
0
);
std
::
close
(
shmf
);
...
...
@@ -230,14 +230,14 @@ namespace bwl
int
shmf
=
std
::
shm_open
((
SHMFRMDIR
+
std
::
to_string
(
fid
)
+
"_shm"
).
c_str
(),
O_RDWR
|
O_CREAT
,
S_IRUSR
|
S_IWUSR
);
if
(
shmf
==
-
1
)
{
return
CREATE_FRAME_FAULT
;
return
(
__frame
*
)
CREATE_FRAME_FAULT
;
}
__frame
*
frame
=
(
__frame
*
)
std
::
mmap
(
nullptr
,
sizeof
(
__frame
),
PROT_READ
,
MAP_SHARED
,
shmf
,
0
);
int
namelen
=
frame
->
namelen
;
std
::
munmap
(
frame
,
sizeof
(
__frame
));
frame
=
(
__frame
*
)
std
::
mmap
(
nullptr
,
sizeof
(
__frame
)
+
namelen
+
1
,
PROT_READ
,
MAP_SHARED
,
shmf
,
0
);
PROT_READ
,
MAP_SHARED
,
shmf
,
0
);
std
::
close
(
shmf
);
return
frame
;
}
...
...
libs/pipe.cc
浏览文件 @
ef11c55a
...
...
@@ -82,7 +82,7 @@ namespace bwl
return
0
;
}
else
return
-
1
;
return
PIPE_NOT_READABLE
;
}
int
Pipe
::
write
(
char
*
buffer
,
int
size
)
...
...
@@ -129,7 +129,7 @@ namespace bwl
return
0
;
}
else
return
-
1
;
return
PIPE_NOT_WRITABLE
;
}
void
Pipe
::
open
(
std
::
string
path
,
int
mode
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录