本文整理汇总了C++中check_interrupt函数的典型用法代码示例。如果您正苦于以下问题:C++ check_interrupt函数的具体用法?C++ check_interrupt怎么用?C++ check_interrupt使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了check_interrupt函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: got_packet
void got_packet(u_char * useless, const struct pcap_pkthdr *pheader,
const u_char * packet)
{
config.p_s.got_packets++;
packetinfo pstruct = {0};
packetinfo *pi = &pstruct;
pi->packet = packet;
pi->pheader = pheader;
set_pkt_end_ptr (pi);
config.tstamp = pi->pheader->ts; // Global
if (config.intr_flag != 0) {
check_interrupt();
}
config.inpacket = 1;
prepare_eth(pi);
check_vlan(pi);
//parse_eth(pi);
if (pi->eth_type == ETHERNET_TYPE_IP) {
prepare_ip4(pi);
parse_ip4(pi);
} else if (pi->eth_type == ETHERNET_TYPE_IPV6) {
prepare_ip6(pi);
parse_ip6(pi);
} else {
config.p_s.otherl_recv++;
//vlog(0x3, "[*] ETHERNET TYPE : %x\n",pi->eth_hdr->eth_ip_type);
}
config.inpacket = 0;
return;
}
开发者ID:regit,项目名称:passivedns,代码行数:31,代码来源:passivedns.c
示例2: check_interrupt
void portfolio_state::trigger_interrupt(int level)
{
// set interrupt pending bit
m_ip |= 1 << level;
check_interrupt();
}
开发者ID:Robbbert,项目名称:store1,代码行数:7,代码来源:pofo.cpp
示例3: check_interrupt
void newbrain_state::clclk()
{
if (LOG) logerror("%s %s CLCLK\n", machine().time().as_string(), machine().describe_context());
m_clkint = 1;
check_interrupt();
}
开发者ID:PugsyMAME,项目名称:mame,代码行数:7,代码来源:newbrain.cpp
示例4: switch
void newbrain_state::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
{
switch (id)
{
case TIMER_ID_RESET:
if (LOG) logerror("%s %s RESET 1\n", machine().time().as_string(), machine().describe_context());
m_maincpu->set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
m_cop->set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
break;
case TIMER_ID_PWRUP:
if (LOG) logerror("%s %s PWRUP 1\n", machine().time().as_string(), machine().describe_context());
m_pwrup = 1;
break;
case TIMER_ID_CLKINT:
if (LOG) logerror("%s CLKINT\n", machine().time().as_string());
m_clkint = 0;
check_interrupt();
break;
}
}
开发者ID:PugsyMAME,项目名称:mame,代码行数:25,代码来源:newbrain.cpp
示例5: set_inte2
static void set_inte2(i8255a_t *i8255a, int state)
{
if (LOG) logerror("8255A Port A INTE2: %u\n", state);
i8255a->inte2 = state;
check_interrupt(i8255a, PORT_A);
}
开发者ID:Paulodx,项目名称:sdl-mame-wii,代码行数:8,代码来源:i8255a.c
示例6: set_inte
static void set_inte(i8255a_t *i8255a, int port, int state)
{
if (LOG) logerror("8255A Port %c INTE: %u\n", 'A' + port, state);
i8255a->inte[port] = state;
check_interrupt(i8255a, port);
}
开发者ID:Paulodx,项目名称:sdl-mame-wii,代码行数:8,代码来源:i8255a.c
示例7: set_obf
static void set_obf(i8255a_t *i8255a, int port, int state)
{
if (LOG) logerror("8255A Port %c OBF: %u\n", 'A' + port, state);
i8255a->obf[port] = state;
check_interrupt(i8255a, port);
}
开发者ID:Paulodx,项目名称:sdl-mame-wii,代码行数:8,代码来源:i8255a.c
示例8: LOG
inline void i8255_device::set_inte2(int state)
{
LOG("I8255 Port A INTE2: %u\n", state);
m_inte2 = state;
check_interrupt(PORT_A);
}
开发者ID:RafTacker,项目名称:mame,代码行数:8,代码来源:i8255.cpp
示例9: check_interrupt
void tms5501_device::set_interrupt(uint8_t mask)
{
m_irq |= mask;
if (LOG) logerror("TMS5501 '%s' Interrupt %02x\n", tag(), mask);
check_interrupt();
}
开发者ID:Tauwasser,项目名称:mame,代码行数:8,代码来源:tms5501.cpp
示例10: check_interrupt
void wd11c00_17_device::device_reset()
{
m_status &= ~(STATUS_IRQ | STATUS_DRQ | STATUS_BUSY);
m_mask = 0;
m_ra = 0;
check_interrupt();
}
开发者ID:Robbbert,项目名称:store1,代码行数:8,代码来源:wd11c00_17.cpp
示例11: check_interrupt
inline void i8255_device::set_inte(int port, int state)
{
if (LOG) logerror("I8255 '%s' Port %c INTE: %u\n", tag(), 'A' + port, state);
m_inte[port] = state;
check_interrupt(port);
}
开发者ID:crazii,项目名称:mameui,代码行数:8,代码来源:i8255.cpp
示例12: check_interrupt
void i8214_device::r_w(UINT8 data)
{
if (LOG) logerror("I8214 '%s' R: %02x\n", tag().c_str(), data);
m_r = data;
check_interrupt();
}
开发者ID:DragonMinded,项目名称:mame,代码行数:8,代码来源:i8214.cpp
示例13: switch
inline void mccs1850_device::write_register(offs_t offset, UINT8 data)
{
switch (offset)
{
case REGISTER_STATUS:
// read only
break;
case REGISTER_CONTROL:
if (LOG) logerror("MCCS1850 '%s' Counter %s\n", tag(), (data & CONTROL_STR_STP) ? "Start" : "Stop");
m_clock_timer->enable(data & CONTROL_STR_STP);
if (data & CONTROL_PD)
{
if (LOG) logerror("MCCS1850 '%s' Power Down\n", tag());
set_pse_line(false);
}
if (data & CONTROL_AR)
{
if (LOG) logerror("MCCS1850 '%s' Auto Restart\n", tag());
}
if (data & CONTROL_AC)
{
if (LOG) logerror("MCCS1850 '%s' Alarm Clear\n", tag());
m_ram[REGISTER_STATUS] &= ~STATUS_AI;
}
if (data & CONTROL_FTUC)
{
if (LOG) logerror("MCCS1850 '%s' First Time Up Clear\n", tag());
m_ram[REGISTER_STATUS] &= ~STATUS_FTU;
}
if (data & CONTROL_RPCD)
{
if (LOG) logerror("MCCS1850 '%s' Request to Power Down Clear\n", tag());
m_ram[REGISTER_STATUS] &= ~STATUS_RPD;
}
m_ram[REGISTER_CONTROL] = data & 0xb2;
check_interrupt();
break;
case REGISTER_TEST_1:
case REGISTER_TEST_2:
case REGISTER_TEST_KICK_START_COUNTER:
case REGISTER_TEST_PRESCALE_COUNTER:
case REGISTER_TEST_COUNTER_INCREMENT:
logerror("MCCS1850 '%s' Unsupported write to test register %02x!\n", tag(), offset);
break;
default:
m_ram[offset] = data;
}
}
开发者ID:curtiszimmerman,项目名称:mame,代码行数:58,代码来源:mccs1850.c
示例14: receive_register_reset
void tms5501_device::device_reset()
{
receive_register_reset();
transmit_register_reset();
m_write_xmt(1);
check_interrupt();
}
开发者ID:Tauwasser,项目名称:mame,代码行数:9,代码来源:tms5501.cpp
示例15: check_interrupt
void i8214_device::r_w(int line, int state)
{
if (LOG) logerror("I8214 '%s' R%d: %d\n", tag(), line, state);
m_r &= ~(1 << line);
m_r |= (state << line);
check_interrupt();
}
开发者ID:RalfVB,项目名称:mame,代码行数:9,代码来源:i8214.cpp
示例16: fuse_ll_process
static void fuse_ll_process(void *data, const char *buf, size_t len,
struct fuse_chan *ch)
{
struct fuse_ll *f = (struct fuse_ll *) data;
struct fuse_in_header *in = (struct fuse_in_header *) buf;
const void *inarg = buf + sizeof(struct fuse_in_header);
struct fuse_req *req;
/* Foxconn removed start pling 06/19/2009 */
#if 0
if (f->debug)
fprintf(stderr, "unique: %llu, opcode: %s (%i), nodeid: %lu, insize: %zu\n",
(unsigned long long) in->unique,
opname((enum fuse_opcode) in->opcode), in->opcode,
(unsigned long) in->nodeid, len);
#endif
/* Foxconn removed end pling 06/19/2009 */
req = (struct fuse_req *) calloc(1, sizeof(struct fuse_req));
if (req == NULL) {
fprintf(stderr, "fuse: failed to allocate request\n");
return;
}
req->f = f;
req->unique = in->unique;
req->ctx.uid = in->uid;
req->ctx.gid = in->gid;
req->ctx.pid = in->pid;
req->ch = ch;
req->ctr = 1;
list_init_req(req);
fuse_mutex_init(&req->lock);
if (!f->got_init && in->opcode != FUSE_INIT)
fuse_reply_err(req, EIO);
else if (f->allow_root && in->uid != f->owner && in->uid != 0 &&
in->opcode != FUSE_INIT && in->opcode != FUSE_READ &&
in->opcode != FUSE_WRITE && in->opcode != FUSE_FSYNC &&
in->opcode != FUSE_RELEASE && in->opcode != FUSE_READDIR &&
in->opcode != FUSE_FSYNCDIR && in->opcode != FUSE_RELEASEDIR) {
fuse_reply_err(req, EACCES);
} else if (in->opcode >= FUSE_MAXOP || !fuse_ll_ops[in->opcode].func)
fuse_reply_err(req, ENOSYS);
else {
if (in->opcode != FUSE_INTERRUPT) {
struct fuse_req *intr;
pthread_mutex_lock(&f->lock);
intr = check_interrupt(f, req);
list_add_req(req, &f->list);
pthread_mutex_unlock(&f->lock);
if (intr)
fuse_reply_err(intr, EAGAIN);
}
fuse_ll_ops[in->opcode].func(req, in->nodeid, inarg);
}
}
开发者ID:hajuuk,项目名称:R7000,代码行数:57,代码来源:fuse_lowlevel.c
示例17: LOG
void i8214_device::r_w(int line, int state)
{
LOG("I8214 R%d: %d\n", line, state);
m_r &= ~(1 << line);
m_r |= (state << line);
check_interrupt();
}
开发者ID:Tauwasser,项目名称:mame,代码行数:9,代码来源:i8214.cpp
示例18: cb_interrupt
static void cb_interrupt(struct libusb_transfer *transfer)
{
struct aura_node *node = transfer->user_data;
struct usb_dev_info *inf = aura_get_transportdata(node);
if (0 != check_interrupt(transfer))
return;
struct usb_interrupt_packet *pck = (struct usb_interrupt_packet *) inf->ibuffer;
inf->pending = (int) pck->pending_evts;
itransfer_enable(node, inf->itransfer_enabled);
}
开发者ID:RC-MODULE,项目名称:matlab,代码行数:12,代码来源:transport-usb.c
示例19: WRITE_LINE_MEMBER
FLOPPY_QL_FORMAT
FLOPPY_FORMATS_END
//-------------------------------------------------
// centronics
//-------------------------------------------------
WRITE_LINE_MEMBER( sandy_super_disk_t::busy_w )
{
m_busy = state;
check_interrupt();
}
开发者ID:Robbbert,项目名称:store1,代码行数:13,代码来源:sandy_superdisk.cpp
示例20: m_write_enlg
void i8214_device::b_w(UINT8 data)
{
m_b = data & 0x07;
if (LOG) logerror("I8214 '%s' B: %01x\n", tag().c_str(), m_b);
// enable interrupts
m_int_dis = 0;
// enable next level group
m_write_enlg(1);
check_interrupt();
}
开发者ID:DragonMinded,项目名称:mame,代码行数:14,代码来源:i8214.cpp
注:本文中的check_interrupt函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论