예제 #1
0
void		ipv_init(t_ipv *ipv, int ac, char **av)
{
    bzero(ipv, sizeof(t_ipv));
    get_opt(ipv, ac, av);
    init_bc(&ipv->fd.buf_read);
    init_bc(&ipv->fd.buf_write);
    ipv->state = _connect;
}
예제 #2
0
int S3C_BC_Bridge(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
{
	int err = -EFAULT;
	int command = _IOC_NR(cmd);
	S3C_BC_ioctl_package *psBridge = (S3C_BC_ioctl_package *)arg;

	if(!access_ok(VERIFY_WRITE, psBridge, sizeof(S3C_BC_ioctl_package)))
	{
		return err;
	}

	switch(command)
	{
		case _IOC_NR(S3C_BC_ioctl_get_physical_base_address):
		{
#if 0
			if(init == 0)
			{	
				init = 1;
				init_bc();
			}
#endif
			psBridge->outputparam = S3C_BC_DEVICE_PHYS_ADDR_START;
			break;
		}

		case _IOC_NR(S3C_BC_ioctl_get_buffer_info):
		{   
        	    S3C_BC_Buffer_info_t *pBuffInfo = (S3C_BC_Buffer_info_t *)arg;
	            BUFFER_INFO buf;
			printk("+S3C_BC_Buffer_Info\n");
		    if (!access_ok(VERIFY_WRITE, pBuffInfo, sizeof(PS3C_BC_Buffer_info_t)))
		        return -EFAULT;

		    S3C_BC_Buffer_Info(0, &buf);
			pBuffInfo->ui32BufferCount = buf.ui32BufferCount;
			pBuffInfo->pixelformat = buf.pixelformat;
			pBuffInfo->ui32ByteStride = buf.ui32ByteStride;
			pBuffInfo->ui32Width = buf.ui32Width;
			pBuffInfo->ui32Height= buf.ui32Height;
			printk("S3C_BC_Buffer_Info\n");
			break;
		}
		default:
			return err;
	}

	return 0;
}
예제 #3
0
파일: err_pos.cpp 프로젝트: mwjx/tests
void c_cmd_buf::start_bc(void)
{
        //开始广播
        //输入:无
        //输出:无
        //cout << "c_cmd_buf::start_bc" << endl;
        //查找广播uid的socket
        //加入写监听
        set<int>::iterator it;
        int cli,no;
        for(it = obj_bc.to.begin();it != obj_bc.to.end();++it){
                cli = *it; //用户ID
                //cerr << "*it=" << *it << endl;
                no = p_us->nobyuid(cli);
                if(no<0){continue;} //客户端不存在
//              if(p_gms->get_more(cli,buf_))
//                      p_bufio->push_write(fd,buf_,strlen(buf_)+1);
                if(p_bl->get_more(cli,buf_))
                        p_sockls->push_write(no,buf_,strlen(buf_)+1);
                //p_bufio->(buf_,strlen(buf_)+1,fd);
        }
        init_bc();
        /**/
}