Esempio n. 1
0
static adv_error fb_getvar(struct fb_var_screeninfo* var, unsigned hint_index)
{
	unsigned r_mask;
	unsigned g_mask;
	unsigned b_mask;

	log_std(("video:fb: FBIOGET_VSCREENINFO\n"));

	/* get the variable info */
	if (ioctl(fb_state.fd, FBIOGET_VSCREENINFO, var) != 0) {
		log_std(("ERROR:video:fb: ioctl(FBIOGET_VSCREENINFO) failed\n"));
		return -1;
	}

	r_mask = ((1 << var->red.length) - 1) << var->red.offset;
	g_mask = ((1 << var->green.length) - 1) << var->green.offset;
	b_mask = ((1 << var->blue.length) - 1) << var->blue.offset;

	/* if overlapping */
	if ((r_mask & g_mask) != 0
		|| (r_mask & b_mask) != 0
		|| (b_mask & g_mask) != 0
	) {
		log_std(("ERROR:video:fb: overlapping RGB nibble %x/%x/%x\n", r_mask, g_mask, b_mask));
		switch (hint_index) {
		case MODE_FLAGS_INDEX_BGR15 :
			log_std(("video:fb: setting generic %s nibble\n", index_name(hint_index)));
			var->red.length = 5;
			var->red.offset = 10;
			var->green.length = 5;
			var->green.offset = 5;
			var->blue.length = 5;
			var->blue.offset = 0;
			break;
		case MODE_FLAGS_INDEX_BGR16 :
			log_std(("video:fb: setting generic %s nibble\n", index_name(hint_index)));
			var->red.length = 5;
			var->red.offset = 11;
			var->green.length = 6;
			var->green.offset = 5;
			var->blue.length = 5;
			var->blue.offset = 0;
			break;
		case MODE_FLAGS_INDEX_BGR24 :
		case MODE_FLAGS_INDEX_BGR32 :
			log_std(("video:fb: setting generic %s nibble\n", index_name(hint_index)));
			var->red.length = 8;
			var->red.offset = 16;
			var->green.length = 8;
			var->green.offset = 8;
			var->blue.length = 8;
			var->blue.offset = 0;
			break;
		}
	}

	return 0;
}
Esempio n. 2
0
		otama_status_t
		create(void)
		{
			/* TODO: global mutex */
	
			int ret;
			otama_mmap_t *metadata_shm;
			metadata_t *metadata;
			
			ret = otama_mmap_create(m_shm_dir.c_str(),
								   metadata_name().c_str(),
								   sizeof(*m_memory_table.metadata));
			if (ret != 0) {
				OTAMA_LOG_ERROR("shm_create: %s",
								metadata_name().c_str());
				return OTAMA_STATUS_SYSERROR;
			}
			ret = otama_mmap_create(m_shm_dir.c_str(),
								   index_name().c_str(),
								   sizeof(*m_memory_table.index) * DEFAULT_COUNT_MAX);
			if (ret != 0) {
				OTAMA_LOG_ERROR("shm_create: %s",
								index_name().c_str());
				return OTAMA_STATUS_SYSERROR;
			}
			ret = otama_mmap_create(m_shm_dir.c_str(),
								   vector_name().c_str(),
								   sizeof(*m_memory_table.vec) * DEFAULT_COUNT_MAX);
			if (ret != 0) {
				OTAMA_LOG_ERROR("shm_create: %s",
								vector_name().c_str());
				return OTAMA_STATUS_SYSERROR;
			}
			
			ret = otama_mmap_open(&metadata_shm,
								 m_shm_dir.c_str(), metadata_name().c_str(),
								 sizeof(metadata_t));
			if (ret != 0) {
				OTAMA_LOG_ERROR("shm_open failed: %s", metadata_name().c_str());
				return OTAMA_STATUS_SYSERROR;
			}
			metadata = (metadata_t *)otama_mmap_mem(metadata_shm);
			metadata->count_max = DEFAULT_COUNT_MAX;
			metadata->last_no = -1;
			metadata->last_commit_no = -1;
			metadata->count = 0;
	
			otama_mmap_sync(metadata_shm);
			otama_mmap_close(&metadata_shm);
	
			return OTAMA_STATUS_OK;
		}
Esempio n. 3
0
		otama_status_t
		open(void)
		{
			int ret;
			
			ret = otama_mmap_open(&m_shm.metadata,
								 m_shm_dir.c_str(),
								 metadata_name().c_str(), sizeof(metadata_t));
			if (ret != 0) {
				close();
				// file not found?
				//OTAMA_LOG_NOTICE("shm_open failed: %s", metadata_name().c_str());
				return OTAMA_STATUS_SYSERROR;
			}
			m_memory_table.metadata = (metadata_t *)otama_mmap_mem(m_shm.metadata);

			if (m_memory_table.metadata->count_max == 0) {
				close();
				// windows
				//OTAMA_LOG_NOTICE("shm_open: count zero: %s", metadata_name().c_str());
				return OTAMA_STATUS_SYSERROR;
			}
	
			ret = otama_mmap_open(&m_shm.index,
								 m_shm_dir.c_str(),
								 index_name().c_str(),
								 sizeof(*m_memory_table.index) * m_memory_table.metadata->count_max);
			if (ret != 0) {
				close();				
				OTAMA_LOG_ERROR("shm_open failed: %s", index_name().c_str());
				return OTAMA_STATUS_SYSERROR;								
			}
			m_memory_table.index = (index_t *)otama_mmap_mem(m_shm.index);
	
			ret = otama_mmap_open(&m_shm.vec,
								 m_shm_dir.c_str(),
								 vector_name().c_str(),
								 sizeof(*m_memory_table.vec) * m_memory_table.metadata->count_max);
			if (ret != 0) {
				close();				
				OTAMA_LOG_ERROR("shm_open failed: %s", vector_name().c_str());
				return OTAMA_STATUS_SYSERROR;								
			}
			m_memory_table.vec = (T*)otama_mmap_mem(m_shm.vec);

			// sync count
			m_memory_table.count = m_memory_table.metadata->count;
			
			return OTAMA_STATUS_OK;
		}
Esempio n. 4
0
void  shape_datasource::init(shape_io& shape)
{
    //first read header from *.shp
    int file_code=shape.shp().read_xdr_integer();
    if (file_code!=9994)
    {
        //invalid
        throw datasource_exception("wrong file code");
    }
    shape.shp().skip(5*4);
    file_length_=shape.shp().read_xdr_integer();
    int version=shape.shp().read_ndr_integer();
    if (version!=1000)
    {
        //invalid version number
        throw datasource_exception("invalid version number");
    }
    int shape_type=shape.shp().read_ndr_integer();
    shape.shp().read_envelope(extent_);
    shape.shp().skip(4*8);

    // check if we have an index file around
    std::string index_name(shape_name_+".index");
    std::ifstream file(index_name.c_str(),std::ios::in | std::ios::binary);
    if (file)
    {
        indexed_=true;
        file.close();
    }

    std::clog << extent_ << std::endl;
    std::clog << "file_length=" << file_length_ << std::endl;
    std::clog << "shape_type=" << shape_type << std::endl;
}
Esempio n. 5
0
static int test_vbe(int x, int y, vbe_video_mode* mode)
{
	char buffer[256];
	struct vga_info info;
	struct vga_regs regs;
	adv_crtc crtc;

	draw_test_default();

	snprintf(buffer, sizeof(buffer), "vbe %s 0x%x %dx%dx%d [%dx%d]", index_name(video_index()), mode->mode, video_size_x(), video_size_y(), video_bits_per_pixel(), video_virtual_x(), video_virtual_y());
	draw_string(x, y, buffer, DRAW_COLOR_WHITE);
	++y;

	++y;

	vga_mode_get(&regs);
	vga_regs_info_get(&regs, &info);
	if (crtc_import(&crtc, &info, video_size_x(), video_size_y(), video_measured_vclock())==0) {
		++y;
		y = test_crtc(x, y, &crtc, 0, 1, 0);
	}

	++y;
	y = test_default_command(x, y);

	return y;
}
Esempio n. 6
0
static adv_error fb_test_auto(struct fb_var_screeninfo* var, unsigned pixelclock, unsigned hde, unsigned hrs, unsigned hre, unsigned ht, unsigned vde, unsigned vrs, unsigned vre, unsigned vt, adv_bool doublescan, adv_bool interlace, adv_bool nhsync, adv_bool nvsync)
{
	unsigned index;

	if ((fb_state.flags & VIDEO_DRIVER_FLAGS_MODE_BGR16) != 0) {
		index = MODE_FLAGS_INDEX_BGR16;
	} else if ((fb_state.flags & VIDEO_DRIVER_FLAGS_MODE_BGR15) != 0) {
		index = MODE_FLAGS_INDEX_BGR15;
	} else if ((fb_state.flags & VIDEO_DRIVER_FLAGS_MODE_BGR32) != 0) {
		index = MODE_FLAGS_INDEX_BGR32;
	} else if ((fb_state.flags & VIDEO_DRIVER_FLAGS_MODE_PALETTE8) != 0) {
		index = MODE_FLAGS_INDEX_PALETTE8;
	} else if ((fb_state.flags & VIDEO_DRIVER_FLAGS_MODE_BGR24) != 0) {
		index = MODE_FLAGS_INDEX_BGR24;
	} else {
		return -1;
	}

	log_std(("video:fb: test mode %dx%d %s\n", hde, vde, index_name(index)));

	fb_preset(var, pixelclock, hde, hrs, hre, ht, vde, vrs, vre, vt, doublescan, interlace, nhsync, nvsync, index, FB_ACTIVATE_TEST);

	if (fb_setvar(var) != 0)
		return -1;

	return 0;
}
Esempio n. 7
0
int ArchivoRegVars::r_file_exists(){
    FILE *fpd=fopen(filename,"r"), *fpi=fopen(index_name().c_str(),"r");
    if(fpd==NULL|| fpi==NULL){
        return 1;
    }
    fclose(fpd); fclose(fpi);
return 0;
}
Esempio n. 8
0
int ArchivoRegVars::r_open(string mode){
   f_d_handler= fopen(filename, mode.c_str()); //data binary
   f_i_handler= fopen(index_name().c_str(), mode.c_str()); //index binary

   if(f_d_handler!=NULL && f_i_handler!= NULL){
       return 0;
    }
 return 1;
}
Esempio n. 9
0
int ArchivoRegVars::r_create(){
    FILE *fpd=fopen(filename, "w");
    FILE *fpi=fopen(index_name().c_str(), "w");
    if(fpd==NULL||fpi==NULL) { return 1; }
    t_index_size counter=0;
    fwrite(&counter, 1, sizeof(t_index_size), fpi);
    fclose(fpd); fclose(fpi);
return 0;
}
Esempio n. 10
0
static adv_error fb_test(struct fb_var_screeninfo* var, unsigned pixelclock, unsigned hde, unsigned hrs, unsigned hre, unsigned ht, unsigned vde, unsigned vrs, unsigned vre, unsigned vt, adv_bool doublescan, adv_bool interlace, adv_bool nhsync, adv_bool nvsync, unsigned index)
{
	log_std(("video:fb: test mode %dx%d %s\n", hde, vde, index_name(index)));

	fb_preset(var, pixelclock, hde, hrs, hre, ht, vde, vrs, vre, vt, doublescan, interlace, nhsync, nvsync, index, FB_ACTIVATE_TEST);

	if (fb_setvar(var) != 0)
		return -1;

	return 0;
}
Esempio n. 11
0
int 
main (int argc,char* const argv[])
{
  /* define types */
  using plist_type = block_postings_list<128>;
  using my_index_t = idx_invfile<plist_type,my_rank_bm25<> >;
  using clock = std::chrono::high_resolution_clock;
  /* parse command line */
  cmdargs_t args = parse_args(argc,argv);

  // read warm-up queries if specified
  std::vector<query_t> warm_queries;

  /* parse queries */
  std::cout << "Parsing query file '" << args.query_file << "'" << std::endl;
  auto queries = query_parser::parse_queries(args.collection_dir,args.query_file);
  std::cout << "Found " << queries.size() << " queries." << std::endl;

  std::string index_name(basename(strdup(args.collection_dir.c_str())));

  /* load the index */
  my_index_t index;
  auto load_start = clock::now();
  // Construct index instance.
  construct(index, args.postings_file, args.F_t_file, args.df_t_file);

  // Get vector of doc lengths and uint64 term count using asc file
  uint64_t term_count = 0, temp;
  std::vector<uint64_t>doc_lens;
  doc_lens.reserve(131072); // Speed up load.
  ifstream doclen_file(args.doclen_file);
  if(doclen_file.is_open() != true){
    std::cerr << "Couldn't open: " << args.doclen_file << std::endl;
    exit(EXIT_FAILURE);
  }
  std::cout << "Reading document lengths." << std::endl;
  /*Read the lengths of each document from asc file into vector*/
  while(doclen_file >> temp){
    doc_lens.push_back(temp);
    term_count += temp;
  }

  if(args.global_file != "") {
    ifstream global_file(args.global_file);
    if(global_file.is_open() != true){
      std::cerr << "Couldn't open: " << args.global_file << std::endl;
      exit(EXIT_FAILURE);
    }

    uint64_t total_docs, total_terms;
    global_file >> total_docs >> total_terms;

    index.load(doc_lens, total_terms, total_docs);
  }
Esempio n. 12
0
void sectioninfoObj::index_name(std::ostream &o) const
{
	auto p=parent.getptr();

	if (!p.null())
	{
		p->index_name(o);
		o << ".";
	}

	o << (index+1);
}
Esempio n. 13
0
static int test_vgaline(int x, int y, vgaline_video_mode* mode)
{
	char buffer[256];
	draw_test_default();

	if (video_is_text()) {
		snprintf(buffer, sizeof(buffer), "vgaline %s %dx%d %dx%d", index_name(video_index()), video_size_x(), video_size_y(), video_size_x() / video_font_size_x(), video_size_y() / video_font_size_y());
		draw_string(x, y, buffer, DRAW_COLOR_WHITE);
		++y;
	} else {
		snprintf(buffer, sizeof(buffer), "vgaline %s %dx%dx%d [%dx%d]", index_name(video_index()), video_size_x(), video_size_y(), video_bits_per_pixel(), video_virtual_x(), video_virtual_y());
		draw_string(x, y, buffer, DRAW_COLOR_WHITE);
		++y;
	}

	++y;

	y = test_crtc(x, y, &mode->crtc, 1, 1, 1);
	y = test_default_command(x, y);

	return y;
}
Esempio n. 14
0
void add_mail(char file_name[]) {
    FILE *fptr = fopen(file_name, "r");
    int date=0,id=0;
    static char from[NAME_SIZE],to[NAME_SIZE];
    if(fptr != NULL) {
        if(fgets(input_buffer, BUFFER_SIZE, fptr)) {
            //From:
            strcpy(from, &input_buffer[6]);
        }
        if(fgets(input_buffer, BUFFER_SIZE, fptr)) {
            //Date:
            date = get_time(&input_buffer[6]);
        }
        if(fgets(input_buffer, BUFFER_SIZE, fptr)) {
            //Message-ID:
            id = get_int(&input_buffer[12]);
        }
        if(fgets(input_buffer, BUFFER_SIZE, fptr)) {
            //Subject:
            index_keywords(id, &input_buffer[9]);
        }
        if(fgets(input_buffer, BUFFER_SIZE, fptr)) {
            //To:
            strcpy(to, &input_buffer[4]);
        }
        from[strlen(from)-1] = STREND;
        to[strlen(to)-1] = STREND;
        index_name(id, from, to);
        index_date(id, date);
        index_mail(id);
        if(fgets(input_buffer, BUFFER_SIZE, fptr)) {
            //Content:
            while(fgets(input_buffer, BUFFER_SIZE, fptr)) {
                index_keywords(id, input_buffer);
            }
        }
        p("Mail ");
        put_int(id);
        p(" added, you have ");
        put_int(mail_set.size());
        p(" mails");
        puts("");
        fclose(fptr);
    }
    else {
        p("No file: ");
        p(file_name);
        p("!!!!\n");
        return;
    }
}
Esempio n. 15
0
void
edit_process_rep::generate_index (string idx) {
  system_wait ("Generating index, ", "please wait");
  if (DEBUG_AUTO)
    debug_automatic << "Generating index [" << idx << "]\n";
  tree I= copy (buf->data->aux[idx]);
  if (buf->prj != NULL) I= copy (buf->prj->data->aux[idx]);
  if (N(I)>0) {
    followup= hashmap<string,tree> (TUPLE);
    int i, n= N(I);
    array<string> entry (n);
    for (i=0; i<n; i++)
      entry[i]= index_name (I[i]);
    merge_sort (entry);

    hashmap<string,tree> h (TUPLE);
    for (i=0; i<n; i++) {
      string name = index_name  (I[i]);
      tree   value= index_value (I[i]);
      if (!h->contains (name)) h (name)= tuple (value);
      else h (name) << value;
    }

    array<string> new_entry;
    for (i=0; i<n; i++) {
      if ((i>0) && (entry[i] == entry[i-1])) continue;
      insert_recursively (new_entry, entry[i], h);
    }
    entry= new_entry;
    n= N(entry);

    tree D (DOCUMENT);
    for (i=0; i<n; i++)
      make_entry (D, h (entry[i]));
    insert_tree (remove_labels (D));
  }
}
Esempio n. 16
0
static int test_sdl(int x, int y, sdl_video_mode* mode)
{
	char buffer[256];

	draw_test_default();

	snprintf(buffer, sizeof(buffer), "sdl %s %dx%dx%d [%dx%d]", index_name(video_index()), video_size_x(), video_size_y(), video_bits_per_pixel(), video_virtual_x(), video_virtual_y());
	draw_string(x, y, buffer, DRAW_COLOR_WHITE);
	++y;

	++y;

	y = test_default_command(x, y);
	return y;
}
Esempio n. 17
0
		otama_status_t
		unlink(void)
		{
			otama_status_t ret;
			
			ret = close();
			if (ret != OTAMA_STATUS_OK) {
				return ret;
			}
			otama_mmap_unlink(m_shm_dir.c_str(), index_name().c_str());
			otama_mmap_unlink(m_shm_dir.c_str(), metadata_name().c_str());
			otama_mmap_unlink(m_shm_dir.c_str(), vector_name().c_str());

			ret = create();
			if (ret != OTAMA_STATUS_OK) {
				return ret;
			}
	
			return open();
		}
Esempio n. 18
0
static int test_vbeline(int x, int y, vbeline_video_mode* mode)
{
	char buffer[256];
	vbe_ModeInfoBlock info;

	draw_test_default();

	snprintf(buffer, sizeof(buffer), "vbeline %s %dx%dx%d [%dx%d]", index_name(video_index()), video_size_x(), video_size_y(), video_bits_per_pixel(), video_virtual_x(), video_virtual_y());
	draw_string(x, y, buffer, DRAW_COLOR_WHITE);
	++y;

	vbe_mode_info_get(&info, mode->mode);

	snprintf(buffer, sizeof(buffer), "based on vbe mode 0x%x %dx%dx%d", mode->mode, info.XResolution, info.YResolution, info.BitsPerPixel);
	draw_string(x, y, buffer, DRAW_COLOR_WHITE);
	++y;

	++y;

	y = test_crtc(x, y, &mode->crtc, 1, 1, 1);
	y = test_default_command(x, y);
	return y;
}
Esempio n. 19
0
std::string sectioninfoObj::index_name() const
{
	std::ostringstream o;
	index_name(o);
	return o.str();
}
Esempio n. 20
0
int ArchivoRegVars::r_destroy(){
  if( remove(filename) != 0 || remove(index_name().c_str()) != 0 ){
    return 1;
  }
return 0;
}