本文整理汇总了C++中BVAL函数的典型用法代码示例。如果您正苦于以下问题:C++ BVAL函数的具体用法?C++ BVAL怎么用?C++ BVAL使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了BVAL函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: smbd_smb2_request_process_flush
NTSTATUS smbd_smb2_request_process_flush(struct smbd_smb2_request *req)
{
NTSTATUS status;
const uint8_t *inbody;
int i = req->current_idx;
uint64_t in_file_id_persistent;
uint64_t in_file_id_volatile;
struct tevent_req *subreq;
status = smbd_smb2_request_verify_sizes(req, 0x18);
if (!NT_STATUS_IS_OK(status)) {
return smbd_smb2_request_error(req, status);
}
inbody = (const uint8_t *)req->in.vector[i+1].iov_base;
in_file_id_persistent = BVAL(inbody, 0x08);
in_file_id_volatile = BVAL(inbody, 0x10);
if (req->compat_chain_fsp) {
/* skip check */
} else if (in_file_id_persistent != in_file_id_volatile) {
return smbd_smb2_request_error(req, NT_STATUS_FILE_CLOSED);
}
subreq = smbd_smb2_flush_send(req,
req->sconn->ev_ctx,
req,
in_file_id_volatile);
if (subreq == NULL) {
return smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
}
tevent_req_set_callback(subreq, smbd_smb2_request_flush_done, req);
return smbd_smb2_request_pending_queue(req, subreq, 500);
}
示例2: __etb_disable
static void __etb_disable(void)
{
int count;
uint32_t ffcr;
ETB_UNLOCK();
ffcr = etb_readl(etb, ETB_FFCR);
ffcr |= (BIT(12) | BIT(6));
etb_writel(etb, ffcr, ETB_FFCR);
for (count = TIMEOUT_US; BVAL(etb_readl(etb, ETB_FFCR), 6) != 0
&& count > 0; count--)
udelay(1);
WARN(count == 0, "timeout while flushing ETB, ETB_FFCR: %#x\n",
etb_readl(etb, ETB_FFCR));
etb_writel(etb, 0x0, ETB_CTL_REG);
for (count = TIMEOUT_US; BVAL(etb_readl(etb, ETB_FFSR), 1) != 1
&& count > 0; count--)
udelay(1);
WARN(count == 0, "timeout while disabling ETB, ETB_FFSR: %#x\n",
etb_readl(etb, ETB_FFSR));
ETB_LOCK();
}
示例3: smb_raw_nttrans_create_recv
/*
Open a file using TRANSACT2_OPEN - async recv
*/
static NTSTATUS smb_raw_nttrans_create_recv(struct smbcli_request *req,
TALLOC_CTX *mem_ctx,
union smb_open *parms)
{
NTSTATUS status;
struct smb_nttrans nt;
uint8_t *params;
status = smb_raw_nttrans_recv(req, mem_ctx, &nt);
if (!NT_STATUS_IS_OK(status)) return status;
if (nt.out.params.length < 69) {
return NT_STATUS_INVALID_PARAMETER;
}
params = nt.out.params.data;
parms->ntcreatex.out.oplock_level = CVAL(params, 0);
parms->ntcreatex.out.file.fnum = SVAL(params, 2);
parms->ntcreatex.out.create_action = IVAL(params, 4);
parms->ntcreatex.out.create_time = smbcli_pull_nttime(params, 12);
parms->ntcreatex.out.access_time = smbcli_pull_nttime(params, 20);
parms->ntcreatex.out.write_time = smbcli_pull_nttime(params, 28);
parms->ntcreatex.out.change_time = smbcli_pull_nttime(params, 36);
parms->ntcreatex.out.attrib = IVAL(params, 44);
parms->ntcreatex.out.alloc_size = BVAL(params, 48);
parms->ntcreatex.out.size = BVAL(params, 56);
parms->ntcreatex.out.file_type = SVAL(params, 64);
parms->ntcreatex.out.ipc_state = SVAL(params, 66);
parms->ntcreatex.out.is_directory = CVAL(params, 68);
return NT_STATUS_OK;
}
示例4: smb2srv_lock_recv
void smb2srv_lock_recv(struct smb2srv_request *req)
{
union smb_lock *io;
int i;
SMB2SRV_CHECK_BODY_SIZE(req, 0x30, false);
SMB2SRV_TALLOC_IO_PTR(io, union smb_lock);
SMB2SRV_SETUP_NTVFS_REQUEST(smb2srv_lock_send, NTVFS_ASYNC_STATE_MAY_ASYNC);
io->smb2.level = RAW_LOCK_SMB2;
io->smb2.in.lock_count = SVAL(req->in.body, 0x02);
io->smb2.in.reserved = IVAL(req->in.body, 0x04);
io->smb2.in.file.ntvfs = smb2srv_pull_handle(req, req->in.body, 0x08);
if (req->in.body_size < 24 + 24*(uint64_t)io->smb2.in.lock_count) {
DEBUG(0,("%s: lock buffer too small\n", __location__));
smb2srv_send_error(req, NT_STATUS_FOOBAR);
return;
}
io->smb2.in.locks = talloc_array(io, struct smb2_lock_element,
io->smb2.in.lock_count);
if (io->smb2.in.locks == NULL) {
smb2srv_send_error(req, NT_STATUS_NO_MEMORY);
return;
}
for (i=0;i<io->smb2.in.lock_count;i++) {
io->smb2.in.locks[i].offset = BVAL(req->in.body, 24 + i*24);
io->smb2.in.locks[i].length = BVAL(req->in.body, 32 + i*24);
io->smb2.in.locks[i].flags = IVAL(req->in.body, 40 + i*24);
io->smb2.in.locks[i].reserved = IVAL(req->in.body, 44 + i*24);
}
SMB2SRV_CHECK_FILE_HANDLE(io->smb2.in.file.ntvfs);
SMB2SRV_CALL_NTVFS_BACKEND(ntvfs_lock(req->ntvfs, io));
}
示例5: server_id_get
void server_id_get(struct server_id *id, const uint8_t buf[24])
{
id->pid = BVAL(buf, 0);
id->task_id = IVAL(buf, 8);
id->vnn = IVAL(buf, 12);
id->unique_id = BVAL(buf, 16);
}
示例6: smb2_create_recv
/*
recv a create reply
*/
NTSTATUS smb2_create_recv(struct smb2_request *req, TALLOC_CTX *mem_ctx, struct smb2_create *io)
{
NTSTATUS status;
if (!smb2_request_receive(req) ||
!smb2_request_is_ok(req)) {
return smb2_request_destroy(req);
}
SMB2_CHECK_PACKET_RECV(req, 0x58, True);
io->out.oplock_flags = SVAL(req->in.body, 0x02);
io->out.create_action = IVAL(req->in.body, 0x04);
io->out.create_time = smbcli_pull_nttime(req->in.body, 0x08);
io->out.access_time = smbcli_pull_nttime(req->in.body, 0x10);
io->out.write_time = smbcli_pull_nttime(req->in.body, 0x18);
io->out.change_time = smbcli_pull_nttime(req->in.body, 0x20);
io->out.alloc_size = BVAL(req->in.body, 0x28);
io->out.size = BVAL(req->in.body, 0x30);
io->out.file_attr = IVAL(req->in.body, 0x38);
io->out._pad = IVAL(req->in.body, 0x3C);
smb2_pull_handle(req->in.body+0x40, &io->out.file.handle);
status = smb2_pull_o32s32_blob(&req->in, mem_ctx, req->in.body+0x50, &io->out.blob);
if (!NT_STATUS_IS_OK(status)) {
smb2_request_destroy(req);
return status;
}
return smb2_request_destroy(req);
}
示例7: smb2srv_read_recv
void smb2srv_read_recv(struct smb2srv_request *req)
{
union smb_read *io;
SMB2SRV_CHECK_BODY_SIZE(req, 0x30, True);
SMB2SRV_TALLOC_IO_PTR(io, union smb_read);
SMB2SRV_SETUP_NTVFS_REQUEST(smb2srv_read_send, NTVFS_ASYNC_STATE_MAY_ASYNC);
io->smb2.level = RAW_READ_SMB2;
io->smb2.in._pad = SVAL(req->in.body, 0x02);
io->smb2.in.length = IVAL(req->in.body, 0x04);
io->smb2.in.offset = BVAL(req->in.body, 0x08);
io->smb2.in.file.ntvfs = smb2srv_pull_handle(req, req->in.body, 0x10);
io->smb2.in.unknown1 = BVAL(req->in.body, 0x20);
io->smb2.in.unknown2 = BVAL(req->in.body, 0x28);
SMB2SRV_CHECK_FILE_HANDLE(io->smb2.in.file.ntvfs);
/* preallocate the buffer for the backends */
io->smb2.out.data = data_blob_talloc(io, NULL, io->smb2.in.length);
if (io->smb2.out.data.length != io->smb2.in.length) {
SMB2SRV_CHECK(NT_STATUS_NO_MEMORY);
}
SMB2SRV_CALL_NTVFS_BACKEND(ntvfs_read(req->ntvfs, io));
}
示例8: __etb_disable
static void __etb_disable(void)
{
int count;
uint32_t ffcr;
/* Avoid oopsing in panic() if called before the device is probed. */
if (!etb.base)
return;
ETB_UNLOCK();
ffcr = etb_readl(etb, ETB_FFCR);
ffcr |= (BIT(12) | BIT(6));
etb_writel(etb, ffcr, ETB_FFCR);
for (count = TIMEOUT_US; BVAL(etb_readl(etb, ETB_FFCR), 6) != 0
&& count > 0; count--)
udelay(1);
WARN(count == 0, "timeout while flushing ETB, ETB_FFCR: %#x\n",
etb_readl(etb, ETB_FFCR));
etb_writel(etb, 0x0, ETB_CTL_REG);
for (count = TIMEOUT_US; BVAL(etb_readl(etb, ETB_FFSR), 1) != 1
&& count > 0; count--)
udelay(1);
WARN(count == 0, "timeout while disabling ETB, ETB_FFSR: %#x\n",
etb_readl(etb, ETB_FFSR));
ETB_LOCK();
}
示例9: smbd_smb2_request_process_close
NTSTATUS smbd_smb2_request_process_close(struct smbd_smb2_request *req)
{
const uint8_t *inbody;
uint16_t in_flags;
uint64_t in_file_id_persistent;
uint64_t in_file_id_volatile;
struct files_struct *in_fsp;
NTSTATUS status;
struct tevent_req *subreq;
status = smbd_smb2_request_verify_sizes(req, 0x18);
if (!NT_STATUS_IS_OK(status)) {
return smbd_smb2_request_error(req, status);
}
inbody = SMBD_SMB2_IN_BODY_PTR(req);
in_flags = SVAL(inbody, 0x02);
in_file_id_persistent = BVAL(inbody, 0x08);
in_file_id_volatile = BVAL(inbody, 0x10);
in_fsp = file_fsp_smb2(req, in_file_id_persistent, in_file_id_volatile);
if (in_fsp == NULL) {
return smbd_smb2_request_error(req, NT_STATUS_FILE_CLOSED);
}
subreq = smbd_smb2_close_send(req, req->sconn->ev_ctx,
req, in_fsp, in_flags);
if (subreq == NULL) {
return smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
}
tevent_req_set_callback(subreq, smbd_smb2_request_close_done, req);
return smbd_smb2_request_pending_queue(req, subreq, 500);
}
示例10: smbd_smb2_request_process_read
NTSTATUS smbd_smb2_request_process_read(struct smbd_smb2_request *req)
{
struct smbXsrv_connection *xconn = req->xconn;
NTSTATUS status;
const uint8_t *inbody;
uint32_t in_length;
uint64_t in_offset;
uint64_t in_file_id_persistent;
uint64_t in_file_id_volatile;
struct files_struct *in_fsp;
uint32_t in_minimum_count;
uint32_t in_remaining_bytes;
struct tevent_req *subreq;
status = smbd_smb2_request_verify_sizes(req, 0x31);
if (!NT_STATUS_IS_OK(status)) {
return smbd_smb2_request_error(req, status);
}
inbody = SMBD_SMB2_IN_BODY_PTR(req);
in_length = IVAL(inbody, 0x04);
in_offset = BVAL(inbody, 0x08);
in_file_id_persistent = BVAL(inbody, 0x10);
in_file_id_volatile = BVAL(inbody, 0x18);
in_minimum_count = IVAL(inbody, 0x20);
in_remaining_bytes = IVAL(inbody, 0x28);
/* check the max read size */
if (in_length > xconn->smb2.server.max_read) {
DEBUG(2,("smbd_smb2_request_process_read: "
"client ignored max read: %s: 0x%08X: 0x%08X\n",
__location__, in_length, xconn->smb2.server.max_read));
return smbd_smb2_request_error(req, NT_STATUS_INVALID_PARAMETER);
}
status = smbd_smb2_request_verify_creditcharge(req, in_length);
if (!NT_STATUS_IS_OK(status)) {
return smbd_smb2_request_error(req, status);
}
in_fsp = file_fsp_smb2(req, in_file_id_persistent, in_file_id_volatile);
if (in_fsp == NULL) {
return smbd_smb2_request_error(req, NT_STATUS_FILE_CLOSED);
}
subreq = smbd_smb2_read_send(req, req->sconn->ev_ctx,
req, in_fsp,
in_length,
in_offset,
in_minimum_count,
in_remaining_bytes);
if (subreq == NULL) {
return smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
}
tevent_req_set_callback(subreq, smbd_smb2_request_read_done, req);
return smbd_smb2_request_pending_queue(req, subreq, 500);
}
示例11: smbd_smb2_request_process_sesssetup
NTSTATUS smbd_smb2_request_process_sesssetup(struct smbd_smb2_request *smb2req)
{
const uint8_t *inhdr;
const uint8_t *inbody;
uint64_t in_session_id;
uint8_t in_flags;
uint8_t in_security_mode;
uint64_t in_previous_session_id;
uint16_t in_security_offset;
uint16_t in_security_length;
DATA_BLOB in_security_buffer;
NTSTATUS status;
struct tevent_req *subreq;
status = smbd_smb2_request_verify_sizes(smb2req, 0x19);
if (!NT_STATUS_IS_OK(status)) {
return smbd_smb2_request_error(smb2req, status);
}
inhdr = SMBD_SMB2_IN_HDR_PTR(smb2req);
inbody = SMBD_SMB2_IN_BODY_PTR(smb2req);
in_session_id = BVAL(inhdr, SMB2_HDR_SESSION_ID);
in_flags = CVAL(inbody, 0x02);
in_security_mode = CVAL(inbody, 0x03);
/* Capabilities = IVAL(inbody, 0x04) */
/* Channel = IVAL(inbody, 0x08) */
in_security_offset = SVAL(inbody, 0x0C);
in_security_length = SVAL(inbody, 0x0E);
in_previous_session_id = BVAL(inbody, 0x10);
if (in_security_offset != (SMB2_HDR_BODY + SMBD_SMB2_IN_BODY_LEN(smb2req))) {
return smbd_smb2_request_error(smb2req, NT_STATUS_INVALID_PARAMETER);
}
if (in_security_length > SMBD_SMB2_IN_DYN_LEN(smb2req)) {
return smbd_smb2_request_error(smb2req, NT_STATUS_INVALID_PARAMETER);
}
in_security_buffer.data = SMBD_SMB2_IN_DYN_PTR(smb2req);
in_security_buffer.length = in_security_length;
subreq = smbd_smb2_session_setup_wrap_send(smb2req,
smb2req->sconn->ev_ctx,
smb2req,
in_session_id,
in_flags,
in_security_mode,
in_previous_session_id,
in_security_buffer);
if (subreq == NULL) {
return smbd_smb2_request_error(smb2req, NT_STATUS_NO_MEMORY);
}
tevent_req_set_callback(subreq, smbd_smb2_request_sesssetup_done, smb2req);
return smbd_smb2_request_pending_queue(smb2req, subreq, 500);
}
示例12: smbd_smb2_request_process_notify
NTSTATUS smbd_smb2_request_process_notify(struct smbd_smb2_request *req)
{
struct smbXsrv_connection *xconn = req->xconn;
NTSTATUS status;
const uint8_t *inbody;
uint16_t in_flags;
uint32_t in_output_buffer_length;
uint64_t in_file_id_persistent;
uint64_t in_file_id_volatile;
struct files_struct *in_fsp;
uint64_t in_completion_filter;
struct tevent_req *subreq;
status = smbd_smb2_request_verify_sizes(req, 0x20);
if (!NT_STATUS_IS_OK(status)) {
return smbd_smb2_request_error(req, status);
}
inbody = SMBD_SMB2_IN_BODY_PTR(req);
in_flags = SVAL(inbody, 0x02);
in_output_buffer_length = IVAL(inbody, 0x04);
in_file_id_persistent = BVAL(inbody, 0x08);
in_file_id_volatile = BVAL(inbody, 0x10);
in_completion_filter = IVAL(inbody, 0x18);
/*
* 0x00010000 is what Windows 7 uses,
* Windows 2008 uses 0x00080000
*/
if (in_output_buffer_length > xconn->smb2.server.max_trans) {
return smbd_smb2_request_error(req, NT_STATUS_INVALID_PARAMETER);
}
status = smbd_smb2_request_verify_creditcharge(req,
in_output_buffer_length);
if (!NT_STATUS_IS_OK(status)) {
return smbd_smb2_request_error(req, status);
}
in_fsp = file_fsp_smb2(req, in_file_id_persistent, in_file_id_volatile);
if (in_fsp == NULL) {
return smbd_smb2_request_error(req, NT_STATUS_FILE_CLOSED);
}
subreq = smbd_smb2_notify_send(req, req->sconn->ev_ctx,
req, in_fsp,
in_flags,
in_output_buffer_length,
in_completion_filter);
if (subreq == NULL) {
return smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
}
tevent_req_set_callback(subreq, smbd_smb2_request_notify_done, req);
return smbd_smb2_request_pending_queue(req, subreq, 500);
}
示例13: coresight_get_sysctrl_status
s32 coresight_get_sysctrl_status(void)
{
u32 clk = 0;
u32 rst = 0;
u32 tcmos = 0;
if(g_modem_sysctrl_cfg.mdm_ctrl_sys_virt_addr == NULL)
{
printk("sys ctrl base addr is null\n");
return BSP_ERROR;
}
clk = readl((u32)((u32)g_modem_sysctrl_cfg.mdm_ctrl_sys_virt_addr + g_modem_sysctrl_cfg.clk.offset));
rst = readl((u32)((u32)g_modem_sysctrl_cfg.mdm_ctrl_sys_virt_addr + g_modem_sysctrl_cfg.rst.offset));
tcmos = readl((u32)((u32)g_modem_sysctrl_cfg.mdm_ctrl_sys_virt_addr + g_modem_sysctrl_cfg.mtcmos.offset));
g_modem_sys_val[0] = clk;
g_modem_sys_val[1] = rst;
g_modem_sys_val[2] = tcmos;
if(!BVAL(clk, g_modem_sysctrl_cfg.clk.mcpu_dbg_clk_status))
{
cs_error("clk = %x,rst = %x,tcmos = %x\n",clk,rst,tcmos);
cs_error("modem a9 mcpu_dbg_clk_status is disable,mcpu_dbg_clk_status=0x%x status=0x%x\n",g_modem_sysctrl_cfg.clk.mcpu_dbg_clk_status,clk);
return BSP_ERROR;
}
if(!BVAL(clk, g_modem_sysctrl_cfg.clk.mcpu_pd_clk_status))
{
cs_error("clk = %x,rst = %x,tcmos = %x\n",clk,rst,tcmos);
cs_error("modem a9 mcpu_pd_clk_status is disable,bit=0x%x status=0x%x\n",g_modem_sysctrl_cfg.clk.mcpu_pd_clk_status,clk);
return BSP_ERROR;
}
if(BVAL(rst, g_modem_sysctrl_cfg.rst.mdma9_pd_srst_status))
{
cs_error("clk = %x,rst = %x,tcmos = %x\n",clk,rst,tcmos);
cs_error("modem a9 mdma9_pd_srst_status is disable,bit=0x%x status =0x%x\n",g_modem_sysctrl_cfg.rst.mdma9_pd_srst_status,rst);
return BSP_ERROR;
}
if(BVAL(rst, g_modem_sysctrl_cfg.rst.moda9_cpu_srst_status))
{
cs_error("clk = %x,rst = %x,tcmos = %x\n",clk,rst,tcmos);
cs_error("modem a9 moda9_cpu_srst_status is disable,bit=0x%x status =0x%x\n",g_modem_sysctrl_cfg.rst.moda9_cpu_srst_status,rst);
return BSP_ERROR;
}
if(!BVAL(tcmos, g_modem_sysctrl_cfg.mtcmos.cpu_mtcmos_strl_status))
{
cs_error("clk = %x,rst = %x,tcmos = %x\n",clk,rst,tcmos);
cs_error("modem a9 moda9_cpu_srst_status is disable,bit=0x%x status = 0x%x",g_modem_sysctrl_cfg.mtcmos.cpu_mtcmos_strl_status,tcmos);
return BSP_ERROR;
}
return BSP_OK;
}
示例14: etm_os_lock_init
static void etm_os_lock_init(struct etm_ctx *etmdata)
{
uint32_t etmoslsr;
etmoslsr = etm_readl(etmdata, TRCOSLSR);
if ((BVAL(etmoslsr, 0) == 0) && BVAL(etmoslsr, 3))
etmdata->os_lock_present = true;
else
etmdata->os_lock_present = false;
}
示例15: annotate
void annotate(void)
{
char buf[64];
int ypos, xpos;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho((GLdouble) 0, (GLdouble) wscreen,
(GLdouble) hscreen, (GLdouble) 0,
(GLdouble) -1.0, (GLdouble) 1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glPushMatrix();
glColor3f(RVAL(0xffffff), GVAL(0xffffff), BVAL(0xffffff));
if (actval == -1) {
if (! strnull(getparam("ident")))
showtext(getparam("ident"), 10, 20);
sprintf(buf, "%.2f", tnow);
showtext(buf, wscreen - (8 * strlen(buf) + 10), 20);
} else {
ypos = hscreen - 10;
if (vectoroff != -1) {
sprintf(buf, "vector scale: %.2f", vscale);
showtext(buf, 10, ypos);
ypos -= 20;
}
if (scalaroff != -1 || dopcolor) {
xpos = 10;
sprintf(buf, "mapping: ");
showtext(buf, xpos, ypos);
xpos += 8 * strlen(buf);
sprintf(buf, "%.2f", cmidpt + crange);
glColor3f(RVAL(0x0000ff), GVAL(0x0000ff), BVAL(0x0000ff));
showtext(buf, xpos, ypos);
xpos += 8 * strlen(buf);
glColor3f(RVAL(0xffffff), GVAL(0xffffff), BVAL(0xffffff));
showtext(" to ", xpos, ypos);
xpos += 32;
sprintf(buf, "%.2f", cmidpt - crange);
glColor3f(RVAL(0xff4f00), GVAL(0xff4f00), BVAL(0xff4f00));
showtext(buf, xpos, ypos);
xpos += 8 * strlen(buf);
ypos -= 20;
glColor3f(RVAL(0xffffff), GVAL(0xffffff), BVAL(0xffffff));
}
sprintf(buf, "angles: %.2f, %.2f, %.2f", thetax, thetay, thetaz);
showtext(buf, 10, ypos);
ypos -= 20;
sprintf(buf, "view: %.2f, %.2f, %.2f; %.2f",
xoff, yoff, dview, fview);
showtext(buf, 10, ypos);
ypos -= 20;
}
glPopMatrix();
}