Esempio n. 1
0
static void write_pointer( FILE *f, void *p, ptr_type_t type ) {
    const save_ptr_t *ptr;
    int i;

    if( !p ) {
        write_int( f, -1 );
        return;
    }

    for( i = 0, ptr = save_ptrs; i < num_save_ptrs; i++, ptr++ ) {
        if( ptr->type == type && ptr->ptr == p ) {
            write_int( f, i );
            return;
        }
    }

    gi.error( "%s: unknown pointer: %p", __func__, p );
}
Esempio n. 2
0
static void write_index( FILE *f, void *p, size_t size, void *start, int max_index ) {
    size_t diff;

    if( !p ) {
        write_int( f, -1 );
        return;
    }

    if( p < start || ( byte * )p > ( byte * )start + max_index * size ) {
        gi.error( "%s: pointer out of range: %p", __func__, p );
    }

    diff = p - start;
    if( diff % size ) {
        gi.error( "%s: misaligned pointer: %p", __func__, p );
    }
    write_int( f, ( int )( diff / size ) );
}
 inline void write_int( LL n ) 
 {
     //recursive function to load the number to output buffer array(buf2)
     if( n >= 10 ) 
     {
         write_int( n / 10 ) ;
     }
         write_char( '0' + n % 10 ) ;
 }
Esempio n. 4
0
static void write_string(int fd, char* val) {
    int len = strlen(val);
    write_int(fd, len);
    int written = write(fd, val, len);
    if (written != len) {
        PLOGE("unable to write string");
        exit(-1);
    }
}
Esempio n. 5
0
void UniformSymbolCoder<RAC>::write_int(int min, int max, int val) {
        assert(max >= min);
        if (min != 0) {
            max -= min;
            val -= min;
        }
        if (max == 0) return;

        // split in [0..med] [med+1..max]
        int med = max/2;
        if (val > med) {
            rac.write_bit(true);
            write_int(med+1, max, val);
        } else {
            rac.write_bit(false);
            write_int(0, med, val);
        }
        return;
}
 inline void write_Int(int n)
 {
     if(n<0)
     {
         write_char('-');
         write_flush();
         n *= (-1);
     }
     write_int(n);
 }
Esempio n. 7
0
generator_callback *remote_completion(const char *line, int start)
{
	if (write(server_completion_fd, "c", 1) != 1 ||
		!write_int(server_completion_fd, start) ||
		!write_string(server_completion_fd, line)) {
		return NULL;
	}

	return remote_generator;
}
Esempio n. 8
0
/* stringlist: <# listitems>
               <pos of listend (bytes)>
               <string:(size)(aligned string)>
*/
static int bc_stringlist_emit(int fd, int *codep, bytecode_info_t *bc)
{
    int len = bc->data[(*codep)++].len;
    int i;
    int ret;
    int wrote = 2*sizeof(int);
    int begin,end;

    /* Write out number of items in the list */
    if (write_int(fd, len)== -1) return -1 ;

    /* skip one spot end of list position*/
    begin=lseek(fd,0,SEEK_CUR);
    lseek(fd,sizeof(int),SEEK_CUR);

    /* Loop through all the items of the list, writing out length and string
     * in sequence */
    for(i=0; i < len; i++)
    {
        int datalen = bc->data[(*codep)++].len;

        if(write_int(fd, datalen) == -1) return -1;
        wrote += sizeof(int);

        if(write(fd, bc->data[(*codep)++].str, datalen) == -1) return -1;
        wrote += datalen;

        ret = align_string(fd,datalen);
        if(ret == -1) return -1;

        wrote+=ret;
    }
    end=lseek(fd,0,SEEK_CUR);
    if (end < 0) return -1;

    /* go back and write end of list position */
    lseek(fd,begin,SEEK_SET);
    if(write_int(fd, end) == -1) return -1;

    /* return to the end */
    lseek(fd,end,SEEK_SET);
    return wrote;
}
Esempio n. 9
0
static void
write_string (MonoCompile *cfg, const char *str)
{
	size_t len = strnlen (str, 0x2000);
	write_int (cfg, (int) len);

	gunichar2 *u = u8to16 (str);
	for (int i = 0; i < len; i++)
		write_short (cfg, u[i]);
}
Esempio n. 10
0
void KfmServIpc::dirEntry(const char* _name, const char* _access, const char* _owner, const char* _group, const char* _date, int _size)
{
	int len = 0;
	len += len_string( _name );
	len += len_string( _access );
	len += len_string( _owner );
	len += len_string( _group );
	len += len_string( _date );
	len += len_int( _size );
	len += len_string("dirEntry");
	write_int( data_sock->socket(), len );
	write_string( data_sock->socket(), "dirEntry" );
	write_string( data_sock->socket(), _name );
	write_string( data_sock->socket(), _access );
	write_string( data_sock->socket(), _owner );
	write_string( data_sock->socket(), _group );
	write_string( data_sock->socket(), _date );
	write_int( data_sock->socket(), _size );
}
Esempio n. 11
0
HOT_INLINE
static void write_endpList(
    int size, 
    hot_endpt_t *ep
) {
    int i;
    write_int(size);
    for (i = 0; i < size; i++)
	write_endpID(&ep[i]);
}
Esempio n. 12
0
static 
log_realloc (unsigned oldlen, unsigned newlen, unsigned bsize, char *addr)
{
	write_string ("realloc of ");
	write_int (oldlen);
	write_string ("at ");
	write_addr (addr);
	write_string ("\n");
	write_stack("x");

	write_string ("realloc-to of ");
	write_int (newlen);
	write_string ("gets ");
	write_int (bsize);
	write_string ("at ");
	write_addr (addr);
	write_string ("\n");
	write_stack("x");
}
int main(void)
{
    char mac_param[128];

    write_int("/sys/devices/platform/msm_sdcc.3/polling", 1);
    
    getmac(mac_param);
    LOGI("Loading Libra.ko");
    if ((insmod(DRIVER_MODULE_PATH, mac_param)) < 0){
        rmmod("librasdioif");
    } else {
        usleep(WIFI_DRIVER_LOADER_DELAY);
        property_set("wlan.driver.status", "ok");       
    }

    write_int("/sys/devices/platform/msm_sdcc.3/polling", 0);

    return 0;
}
Esempio n. 14
0
File: symbol.hpp Progetto: kif/FLIF
    void write_int(int min, int max, int val) {
        assert(max >= min);
        if (min != 0) {
            max -= min;
            val -= min;
        }
        if (max == 0) return;

        // split in [0..med] [med+1..max]
        int med = max/2;
        if (val > med) {
            rac.write(med+1, max+1, true);
            write_int(med+1, max, val);
        } else {
            rac.write(med+1, max+1, false);
            write_int(0, med, val);
        }
        return;
    }
Esempio n. 15
0
static 
print_free_list (unsigned heap)
{
	int i;
	struct freelist * top;
	struct freelist * ptr;

	write_string ("free list for heap ");
	write_int(heap);
	write_string(":\n");
	for (i=0; i<BUCKETS; i++) {
		top = &heaps[heap][i];
		write_int (sizes[i]);
		write_string (": ");
		for (ptr = top->next ; ptr != top; ptr=ptr->next)
			write_int (ptr->size);
		write_string ("\n");
	}
}
Esempio n. 16
0
static bool switch_lcd(bool on)
{
    const char *NODE_PATH = "/sys/class/leds/lcd-backlight/brightness";
    s32 ret = -1;

    if(on)
    	ret = write_int(NODE_PATH, 102);
    else
    	ret = write_int(NODE_PATH, 0);	
    
    if(ret < 0)
    {
    	DEBUG("[hotknot factory]Switch lcd fail :%s.", strerror(errno));
    	return false;
    }
    
    DEBUG("[hotknot factory]Switch lcd success.");
    return true;
}
Esempio n. 17
0
/**
 * This function allows you to add an encoded video frame to the AVI file.
 *
 * @param gwavi Main gwavi structure initialized with gwavi_open()-
 * @param buffer Video buffer size.
 * @param len Video buffer length.
 *
 * @return 0 on success, -1 on error.
 */
int
gwavi_add_frame(struct gwavi_t *gwavi, unsigned char *buffer, size_t len)
{
	size_t maxi_pad;  /* if your frame is raggin, give it some paddin' */
	size_t t;

	if (!gwavi || !buffer) {
		(void)fputs("gwavi and/or buffer argument cannot be NULL",
			    stderr);
		return -1;
	}
	if (len < 256)
		(void)fprintf(stderr, "WARNING: specified buffer len seems "
			      "rather small: %d. Are you sure about this?\n",
			      (int)len);

	gwavi->offset_count++;
	gwavi->stream_header_v.data_length++;

	maxi_pad = len % 4;
	if (maxi_pad > 0)
		maxi_pad = 4 - maxi_pad;

	if (gwavi->offset_count >= gwavi->offsets_len) {
		gwavi->offsets_len += 1024;
		gwavi->offsets = (unsigned int *)realloc(gwavi->offsets,
					(size_t)gwavi->offsets_len *
					sizeof(unsigned int));
	}

	gwavi->offsets[gwavi->offsets_ptr++] = (unsigned int)(len + maxi_pad);

	if (write_chars_bin(gwavi->out, "00dc", 4) == -1) {
		(void)fprintf(stderr, "gwavi_add_frame: write_chars_bin() "
			      "failed\n");
		return -1;
	}
	if (write_int(gwavi->out, (unsigned int)(len + maxi_pad)) == -1) {
		(void)fprintf(stderr, "gwavi_add_frame: write_int() failed\n");
		return -1;
	}

	if ((t = fwrite(buffer, 1, len, gwavi->out)) != len) {
		(void)fprintf(stderr, "gwavi_add_frame: fwrite() failed\n");
		return -1;
	}

	for (t = 0; t < maxi_pad; t++)
		if (fputc(0, gwavi->out) == EOF) {
			(void)fprintf(stderr, "gwavi_add_frame: fputc() failed\n");
			return -1;
		}

	return 0;
}
Esempio n. 18
0
static FcBool
cache_print_set (FcFontSet *set, FcStrSet *dirs, const FcChar8 *base_name, FcBool verbose)
{
    FcChar8	    *dir;
    const FcChar8   *base;
    int		    n;
    int		    ndir = 0;
    FcStrList	    *list;

    list = FcStrListCreate (dirs);
    if (!list)
	goto bail2;
    
    while ((dir = FcStrListNext (list)))
    {
	base = file_base_name (base_name, dir);
	if (!write_string (stdout, base))
	    goto bail3;
	if (PUTC (' ', stdout) == EOF)
	    goto bail3;
	if (!write_int (stdout, 0))
	    goto bail3;
        if (PUTC (' ', stdout) == EOF)
	    goto bail3;
	if (!write_string (stdout, FC_FONT_FILE_DIR))
	    goto bail3;
	if (PUTC ('\n', stdout) == EOF)
	    goto bail3;
	ndir++;
    }
    
    for (n = 0; n < set->nfont; n++)
    {
	FcPattern   *font = set->fonts[n];
	FcChar8 *s;

	s = FcPatternFormat (font, (const FcChar8 *) "%{=fccat}\n");
	if (s)
	{
	    printf ("%s", s);
	    FcStrFree (s);
	}
    }
    if (verbose && !set->nfont && !ndir)
	printf ("<empty>\n");

    FcStrListDone (list);

    return FcTrue;

bail3:
    FcStrListDone (list);
bail2:
    return FcFalse;
}
Esempio n. 19
0
/* Join a group.  The group context is returned in *contextp.  
 */
hot_err_t hot_ens_Join(
    hot_ens_JoinOps_t *jops,
    hot_context_t *contextp	/*OUT*/ 
) {
    hot_err_t err = HOT_OK ;
    hot_context_t s ;

    /* Initialize global state if not done so already.
     */
    if (!g.initialized) {
	err = hot_ens_Init(jops->outboard, jops->argv); 
	if (err != HOT_OK)
	    return err;
    }

    begin_write(); {    
	begin_critical(); {    
	    /* Allocate a new group context 
	     * Initialize the group record.
	     */
	    s = alloc_context();
	    s->joining = 1 ;
	    s->leaving = 0 ;
	    s->conf = jops->conf;
	    s->env = jops->env;
	    s->view = NULL ;
	    *contextp = s ;
	} end_critical();
	
	/* Write the downcall.
	 */
  	write_hdr(s,DN_JOIN);
	write_int(jops->heartbeat_rate);
	write_string(jops->transports);
	write_string(jops->protocol);
	write_string(jops->group_name);
	write_string(jops->properties);
	write_bool(jops->use_properties);
	write_bool(jops->groupd);
	write_string(jops->params);
	write_bool(jops->client);
	write_bool(jops->debug);

	if (jops->endpt.name[0] != 0x0) {
	    hot_sys_Warning("HOT_OUTBOARD does not support 'endpt' in join ops") ;
	    jops->endpt.name[0] = 0x0;
	}
	write_string(jops->princ);
	write_string(jops->key);
	write_bool(jops->secure);

    } end_write();

    return HOT_OK;
}
Esempio n. 20
0
void KfmIpc::move(const char* _src, const char* _dest)
{
	int len = 0;
	len += len_string( _src );
	len += len_string( _dest );
	len += len_string("move");
	write_int( sock->socket(), len );
	write_string( sock->socket(), "move" );
	write_string( sock->socket(), _src );
	write_string( sock->socket(), _dest );
}
Esempio n. 21
0
void KfmIpc::exec(const char* _url, const char* _binding)
{
	int len = 0;
	len += len_string( _url );
	len += len_string( _binding );
	len += len_string("exec");
	write_int( sock->socket(), len );
	write_string( sock->socket(), "exec" );
	write_string( sock->socket(), _url );
	write_string( sock->socket(), _binding );
}
Esempio n. 22
0
File: user.c Progetto: AinaSG/ZeOS
void print_stats(int i){
     struct stats st;
     get_stats(getpid(), &st);
     char b;
     
     write(1, "\nStats for the process ", 23);
     write_int(i);
     
     write(1, "\nUser Ticks: ", 13);
     write_int(st.user_ticks);

     write(1, "\nSystem Ticks: ", 15);
     write_int(st.system_ticks);

     write(1, "\nBlocked Ticks: ", 16);
     write_int(st.blocked_ticks);

     write(1, "\nReady Ticks: ", 14);
     write_int(st.ready_ticks);
}
Esempio n. 23
0
void KfmIpc::copyClient(const char* _src, const char* _dest)
{
	int len = 0;
	len += len_string( _src );
	len += len_string( _dest );
	len += len_string("copyClient");
	write_int( sock->socket(), len );
	write_string( sock->socket(), "copyClient" );
	write_string( sock->socket(), _src );
	write_string( sock->socket(), _dest );
}
Esempio n. 24
0
void Ctransaction::send_announce(data_ref r)
{
	if (read_int(8, &r[uti_connection_id], r.end()) != connection_id())
		return;
	if (!m_server.config().m_anonymous_announce)
	{
		send_error(r, "access denied");
		return;
	}
	Ctracker_input ti;
	ti.m_downloaded = read_int(8, &r[utia_downloaded], r.end());
	ti.m_event = static_cast<Ctracker_input::t_event>(read_int(4, &r[utia_event], r.end()));
	ti.m_info_hash.assign(reinterpret_cast<const char*>(&r[utia_info_hash]), 20);
	ti.m_ipa = read_int(4, &r[utia_ipa], r.end()) && is_private_ipa(m_a.sin_addr.s_addr)
		? htonl(read_int(4, &r[utia_ipa], r.end()))
		: m_a.sin_addr.s_addr;
	ti.m_left = read_int(8, &r[utia_left], r.end());
	ti.m_num_want = read_int(4, &r[utia_num_want], r.end());
	ti.m_peer_id.assign(reinterpret_cast<const char*>(&r[utia_peer_id]), 20);
	ti.m_port = htons(read_int(2, &r[utia_port], r.end()));
	ti.m_uploaded = read_int(8, &r[utia_uploaded], r.end());
	std::string error = m_server.insert_peer(ti, true, NULL);
	if (!error.empty())
	{
		send_error(r, error);
		return;
	}
	const Cserver::t_torrent* torrent = m_server.torrent(ti.m_info_hash);
	if (!torrent)
		return;
	const int cb_d = 2 << 10;
	char d[cb_d];
	write_int(4, d + uto_action, uta_announce);
	write_int(4, d + uto_transaction_id, read_int(4, &r[uti_transaction_id], r.end()));
	write_int(4, d + utoa_interval, m_server.config().m_announce_interval);
	write_int(4, d + utoa_leechers, torrent->leechers);
	write_int(4, d + utoa_seeders, torrent->seeders);
	std::string peers = torrent->select_peers(ti);
	memcpy(d + utoa_size, peers.data(), peers.size());
	send(data_ref(d, d + utoa_size + peers.size()));
}
Esempio n. 25
0
/* Privileged side. */
static void
setgid_io_close_priv (int outfd, int infd)
{
  int fd;
  int result;

  fd = read_int (infd);

  result = close (fd);

  write_int (outfd, result);
}
Esempio n. 26
0
int main(){
	int i;
	int k;
	int *l;

	k = 10;
	l = &k;
	
	i = outprint(l);
	write_int(k);
	write_string("\n");
}
Esempio n. 27
0
static void write_field(FILE *f, const save_field_t *field, void *base)
{
    void *p = (byte *)base + field->ofs;
    int i;

    switch (field->type) {
    case F_BYTE:
        write_data(p, field->size, f);
        break;
    case F_SHORT:
        for (i = 0; i < field->size; i++) {
            write_short(f, ((short *)p)[i]);
        }
        break;
    case F_INT:
        for (i = 0; i < field->size; i++) {
            write_int(f, ((int *)p)[i]);
        }
        break;
    case F_FLOAT:
        for (i = 0; i < field->size; i++) {
            write_float(f, ((float *)p)[i]);
        }
        break;
    case F_VECTOR:
        write_vector(f, (vec_t *)p);
        break;

    case F_ZSTRING:
        write_string(f, (char *)p);
        break;
    case F_LSTRING:
        write_string(f, *(char **)p);
        break;

    case F_EDICT:
        write_index(f, *(void **)p, sizeof(edict_t), g_edicts, MAX_EDICTS - 1);
        break;
    case F_CLIENT:
        write_index(f, *(void **)p, sizeof(gclient_t), game.clients, game.maxclients - 1);
        break;
    case F_ITEM:
        write_index(f, *(void **)p, sizeof(gitem_t), itemlist, game.num_items - 1);
        break;

    case F_POINTER:
        write_pointer(f, *(void **)p, field->size);
        break;

    default:
        gi.error("%s: unknown field type", __func__);
    }
}
Esempio n. 28
0
/**
 * This function allows you to add the audio track to your AVI file.
 *
 * @param gwavi Main gwavi structure initialized with gwavi_open()-
 * @param buffer Audio buffer size.
 * @param len Audio buffer length.
 *
 * @return 0 on success, -1 on error.
 */
int
gwavi_add_audio(struct gwavi_t *gwavi, unsigned char *buffer, size_t len)
{
	size_t maxi_pad;  /* in case audio bleeds over the 4 byte boundary  */
	size_t t;

	if (!gwavi || !buffer) {
		(void)fputs("gwavi and/or buffer argument cannot be NULL",
			    stderr);
		return -1;
	}

	gwavi->offset_count++;

	maxi_pad = len % 4;
	if (maxi_pad > 0)
		maxi_pad = 4 - maxi_pad;

	if (gwavi->offset_count >= gwavi->offsets_len) {
		gwavi->offsets_len += 1024;
		gwavi->offsets = (unsigned int *)realloc(gwavi->offsets,
					(size_t)gwavi->offsets_len *
					sizeof(unsigned int));
	}

	gwavi->offsets[gwavi->offsets_ptr++] =
		(unsigned int)((len + maxi_pad) | 0x80000000);

	if (write_chars_bin(gwavi->out,"01wb",4) == -1) {
		(void)fprintf(stderr, "gwavi_add_audio: write_chars_bin() "
			      "failed\n");
		return -1;
	}
	if (write_int(gwavi->out,(unsigned int)(len + maxi_pad)) == -1) {
		(void)fprintf(stderr, "gwavi_add_audio: write_int() failed\n");
		return -1;
	}

	if ((t = fwrite(buffer, 1, len, gwavi->out)) != len ) {
		(void)fprintf(stderr, "gwavi_add_audio: fwrite() failed\n");
		return -1;
	}

	for (t = 0; t < maxi_pad; t++)
		if (fputc(0,gwavi->out) == EOF) {
			(void)fprintf(stderr, "gwavi_add_audio: fputc() failed\n");
			return -1;
		}

	gwavi->stream_header_a.data_length += (unsigned int)(len + maxi_pad);

	return 0;
}
void indexed_force_tri_3D::save(std::ofstream& out)
{
	// write the label string
	write_label(out, label);
	// write the point cloud indices for each vertex
	for (int t=0; t<3; t++)
		write_int(out, p[t]);
	// write the target index
	write_int(out, ds_index);
	// write the index list - first the length
	write_int(out, grid_indices.size());
	// now write all the indices
	for (std::list<grid_index>::iterator it=grid_indices.begin();
		 it!=grid_indices.end(); it++)
	{
		write_int(out, it->i);
		write_int(out, it->j);
		write_vector(out, it->cart_coord);
	}
	// write the point and edge adjacency list
	for (int a=0; a<2; a++)
	{
		write_int(out, adjacency[a].size());
		for (LABEL_STORE::iterator it=adjacency[a].begin();
			 it!= adjacency[a].end(); it++)
			write_label(out, *it);
	}
}
Esempio n. 30
0
static void
write_blocks (MonoCompile *cfg)
{
	int block_size = 0;
	MonoBasicBlock *bb;
	for (bb = cfg->bb_entry; bb; bb = bb->next_bb)
		block_size++;
	write_int (cfg, block_size);

	for (bb = cfg->bb_entry; bb; bb = bb->next_bb) {
		int insn_size = 0;
		MonoInst *insn = NULL;

		write_int (cfg, bb->block_num);

		for (insn = bb->code; insn; insn = insn->next)
			insn_size++;
		write_int (cfg, insn_size);

		for (insn = bb->code; insn; insn = insn->next) {
			int *id = (int *) g_hash_table_lookup (cfg->gdump_ctx->insn2id, insn);
			g_assert (id);
			write_int (cfg, *id);
		}

		write_int (cfg, bb->out_count);
		for (int i = 0; i < bb->out_count; i++)
			write_int (cfg, bb->out_bb[i]->block_num);
	}
}