Exemplo n.º 1
0
int16
command_run (void)
{
  int8 *entry_point;
  void
  (*f) (void);

  entry_point = elf_load (xmodem_recv_buffer_start_address);
  if (!entry_point)
    {
      put_string ("run error!\n");
    }
  else
    {
      put_string ("starting from entry point:");
      put_hex ((uint32) entry_point, 6);
      put_string ("\n");
      put_string ("\n");
      f = (void
      (*) (void)) entry_point;
      f ();
    }
  return 0;
}
Exemplo n.º 2
0
static void show_utf8(struct membuffer *b, const char *text, const char *pre, const char *post, int is_attribute)
{
    int len;
    char *cleaned;

    if (!text)
        return;
    /* remove leading and trailing space */
    /* We need to combine isascii() with isspace(),
     * because we can only trust isspace() with 7-bit ascii,
     * on windows for example */
    while (isascii(*text) && isspace(*text))
        text++;
    len = strlen(text);
    if (!len)
        return;
    while (len && isascii(text[len - 1]) && isspace(text[len - 1]))
        len--;
    cleaned = strndup(text, len);
    put_string(b, pre);
    quote(b, cleaned, is_attribute);
    put_string(b, post);
    free(cleaned);
}
Exemplo n.º 3
0
// RTC alarm setup time
static void rtc_alarm_time(void) {
    char flag;
    char buffer[9];
    int temp, temp_time;
    util_clear_screen();
    // setup alarm second
    put_string("en alrm sec(y/n): ");
    flag = get_char();
    if (flag == 'y') {
        temp_time |= AT91C_RTC_SECEN;
        util_clear_screen();
        // update seconds
        put_string("set sec: ");
        get_string(buffer, 2, 1);
        temp = util_hex_to_int(buffer);
        if (temp >= 0x00 && temp <= 0x59) {
            temp_time |= temp & AT91C_RTC_SEC;
        }
        util_clear_screen();
    }
    // setup alarm minute
    put_string("en alrm min(y/n): ");
    flag = get_char();
    if (flag == 'y') {
        temp_time |= AT91C_RTC_MINEN;
        util_clear_screen();
        // update minutes
        put_string("set min: ");
        get_string(buffer, 2, 1);
        temp = util_hex_to_int(buffer);
        if (temp >= 0x00 && temp <= 0x59) {
            temp_time |= (temp << 8) & AT91C_RTC_MIN;
        }
        util_clear_screen();
    }
    // setup alarm minute
    put_string("en alrm hour(y/n): ");
    flag = get_char();
    if (flag == 'y') {
        temp_time |= AT91C_RTC_HOUREN;
        util_clear_screen();
        // update hours
        put_string("set hour: ");
        get_string(buffer, 2, 1);
        temp = util_hex_to_int(buffer);
        if (temp >= 0x00 && temp <= 0x23) {
            temp_time |= (temp << 16) & AT91C_RTC_HOUR;
        }
        util_clear_screen();
    }
    if (temp_time & AT91C_RTC_SECEN) {
        AT91C_BASE_RTC->RTC_TIMALR = temp_time;
        AT91C_BASE_RTC->RTC_IER |= AT91C_RTC_ALARM;
    }
}
Exemplo n.º 4
0
init_fat(){
	/* enable everdrive card */
	clearFATBuffers();
	ed_begin();
	put_string("Initialise", 0, 1);
	everdrive_error = disk_init();
	put_number(everdrive_error, 3, 0, 2);
	everdrive_error = getMBR(0);
	put_number(everdrive_error, 3, 4, 2);
	everdrive_error = getFATVol();
	put_number(everdrive_error, 3, 8, 2);
	everdrive_error = getFATFS();
	put_number(everdrive_error, 3, 12, 2);
	/* NOTE: You should normally check that each call to the above 4 functions
	has returned correctly before proceeding! */
}
Exemplo n.º 5
0
static int put_dynimport_decl(asymbol * sym, void *arg)
{
  char dynimport_decl[1024];
  const char *func_name = sym->name;
  int fd = (int)arg;

  /* Put the declaration for the dynamic info structure */
  if (func_name)
    {
      sprintf(dynimport_decl, dynimport_decl_format,
              MKINFODECLARGS(func_name, counter));
      put_string(fd, dynimport_decl);
      counter++;
    }
  return 0;
}
Exemplo n.º 6
0
 void
 RTMPSession::sendCreateStream()
 {
     RTMPChunk_0 metadata = {{0}};
     metadata.msg_stream_id = kControlChannelStreamId;
     metadata.msg_type_id = RTMP_PT_INVOKE;
     std::vector<uint8_t> buff;
     put_string(buff, "createStream");
     m_createStreamInvoke = ++m_numberOfInvokes;
     m_trackedCommands[m_numberOfInvokes] = "createStream";
     put_double(buff, m_createStreamInvoke);
     put_byte(buff, kAMFNull);
     metadata.msg_length.data = static_cast<int>( buff.size() );
     
     sendPacket(&buff[0], buff.size(), metadata);
 }
Exemplo n.º 7
0
// system timer handler
extern void st_handler(void) {
    int status = AT91C_BASE_ST->ST_SR & AT91C_BASE_ST->ST_IMR;
    // handler of pit
    if (status & AT91C_ST_PITS) {
        AT91C_BASE_PIOB->PIO_ODSR ^= AT91C_PIO_PB0;
    }
    // handler of rtt - rttinc
    if (status & AT91C_ST_RTTINC) {
        AT91C_BASE_PIOB->PIO_ODSR ^= AT91C_PIO_PB27;
    }
    // handler of rtt - alms
    if (status & AT91C_ST_ALMS) {
        put_string("Simple message\n");
        AT91C_BASE_ST->ST_RTAR += 40;
    }
}
Exemplo n.º 8
0
int
main (int argc, char **argv)
{
  char *command_line;
  header the_header;
  long name_length;
  char *mail_program_name;
  char buf[BUFLEN + 1];
  register int size;
  FILE *the_pipe;

  extern char *getenv (const char *);

  mail_program_name = getenv ("FAKEMAILER");
  if (!(mail_program_name && *mail_program_name))
    mail_program_name = MAIL_PROGRAM_NAME;
  name_length = strlen (mail_program_name);

  my_name = MY_NAME;
  the_streams = ((stream_list) NULL);
  the_date = ((char *) NULL);
  the_user = ((char *) NULL);

  the_header = read_header ();
  command_line = alloc_string (name_length + args_size (the_header));
  strcpy (command_line, mail_program_name);
  parse_header (the_header, &command_line[name_length]);

  the_pipe = popen (command_line, "w");
  if (the_pipe == ((FILE *) NULL))
    fatal ("cannot open pipe to real mailer");

  add_a_stream (the_pipe, pclose);

  write_header (the_header);

  /* Dump the message itself */

  while (!feof (stdin))
    {
      size = fread (buf, 1, BUFLEN, stdin);
      buf[size] = '\0';
      put_string (buf);
    }

  exit (close_the_streams ());
}
Exemplo n.º 9
0
int nice_copy(char *title, char *source, char *dest)
{
  int x1=0,y1=0,x2=79,y2=25;
  bar(x1,y1+1,x2,y2,176,0x01);
  put_title(title);

  box(x1,(y1+y2)/2-1,x2,(y1+y2)/2+3,0x17);
  bar(x1+1,(y1+y2)/2,x2-1,(y1+y2)/2+2,' ',0x17);
  
  char msg[100];
  sprintf(msg,"Copying %s -> %s",source,dest);
  put_string(x1+1,(y1+y2)/2,msg,0x17);
  bar(x1+1,(y1+y2)/2+2,x2-1,(y1+y2)/2+2,176,0x17);

  char *buffer=(char *)jmalloc(0xf000,"read buf");
  if (!buffer) return 0;
  FILE *out=fopen(dest,"wb");
  if (!out) { jfree(buffer) ; return 0; }
  FILE *in=fopen(source,"rb");
  if (!in) { jfree(buffer); fclose(out); unlink(dest); return 0; }

  fseek(in,0,SEEK_END);
  long size=ftell(in);
  fseek(in,0,SEEK_SET);
  int osize=size;
  while (size)
  {
    long tr=fread(buffer,1,0xf000,in);
    bar(x1+1,(y1+y2)/2+2,x1+1+(x2-x1)*(osize-size-tr)/osize,(y1+y2)/2+2,178,0x17);

    if (fwrite(buffer,1,tr,out)!=tr)
    {
      fclose(out);
      fclose(in);
      unlink(dest);
      jfree(buffer);
      return 0;
    }
    size-=tr;
    
  }
  fclose(in);
  fclose(out);
  jfree(buffer);
  cls();
  return 1;
}
void syslinux_execute(void)
{
	char *device, *diskdevice;
	char *bootimages;
	int fd;

	if (strcmp(hashmapGetPrintf(ictx.opts, "none", BASE_BOOTLOADER),
				"syslinux"))
		return;

	pr_info("Writing MBR");
        diskdevice = xasprintf("/dev/block/%s",
			hashmapGetPrintf(ictx.opts, NULL, BASE_INSTALL_DISK));
	dd(SYSLINUX_MBR, diskdevice);
        free(diskdevice);

	/* SYSLINUX complains if this isn't done */
	chmod("/tmp", 01777);

	bootimages = hashmapGetPrintf(ictx.opts, NULL, BASE_BOOT_LIST);
	device = hashmapGetPrintf(ictx.opts, NULL, "partition.bootloader:device");
	pr_info("Installing ldlinux.sys onto %s", device);
	do_install_syslinux(device);

	/* In case we die() before we are finished */
	signal(SIGABRT, sighandler);
	mount_partition_device(device, "vfat", BOOTLOADER_PATH);

	pr_info("Copying syslinux support files");
	copy_file(IMAGES_PATH "vesamenu.c32", BOOTLOADER_PATH "vesamenu.c32");
	copy_file(IMAGES_PATH "android.c32", BOOTLOADER_PATH "android.c32");

	pr_info("Constructing syslinux.cfg");
	/* Put the initial template stuff in */
	copy_file(SYSLINUX_CFG_TEM_FN, SYSLINUX_CFG_FN);
	fd = xopen(SYSLINUX_CFG_FN, O_WRONLY | O_APPEND);
	put_string(fd, "menu androidcommand %s\n",
		hashmapGetPrintf(ictx.opts, NULL, "partition.misc:index"));
	string_list_iterate(bootimages, bootimage_cb, &fd);

	xclose(fd);
	umount(BOOTLOADER_PATH);
	rmdir(BOOTLOADER_PATH);
	signal(SIGABRT, SIG_DFL);
	pr_info("SYSLINUX installation complete");
}
Exemplo n.º 11
0
/*! \fn       int32 print_can_frame(void)
*
*  \brief     打印CAN帧
*
*  \param     无
*
*  \exception 无
*
*  \return    EXIT_FAILURE:失败;EXIT_SUCCESS:成功
*/
int32 print_can_frame(void)
{
    int32 lRet = EXIT_SUCCESS;

    if(s_unCanSegMsgReadIndex != s_unCanSegMsgWriteIndex)
    {
        put_string(" ");
        lRet = print_protocol_frame(&(s_aucCanSegMsgBuf[s_unCanSegMsgReadIndex][0]));
        s_unCanSegMsgReadIndex++;
        if(CAN_MSG_BUF_SIZE <= s_unCanSegMsgReadIndex)
        {
            s_unCanSegMsgReadIndex = 0;
        }
    }

    return lRet;
}
Exemplo n.º 12
0
static int put_dynimport_array(asymbol * sym, void *arg)
{
  char dynimport_array[1024];
  const char *func_name = sym->name;
  int fd = (int)arg;

  /* Create the dynimport_array */

  if (func_name)
    {
      sprintf(dynimport_array, dynimport_array_format,
              MKINFOARGS(func_name, counter));
      put_string(fd, dynimport_array);
      counter++;
    }
  return 0;
}
Exemplo n.º 13
0
static int put_import_name(asymbol * sym, void *arg)
{
  char import_name[512];
  const char *func_name = sym->name;
  int fd = (int)arg;

  /* Create the import_name */

  if (func_name)
    {
      sprintf(import_name, import_name_strtab_format,
              MKIMPSTRTABARG(func_name, counter));
      put_string(fd, import_name);
      counter++;
    }
  return 0;
}
Exemplo n.º 14
0
/*
 * We're outputting utf8 in xml.
 * We need to quote the characters <, >, &.
 *
 * Technically I don't think we'd necessarily need to quote the control
 * characters, but at least libxml2 doesn't like them. It doesn't even
 * allow them quoted. So we just skip them and replace them with '?'.
 *
 * If we do this for attributes, we need to quote the quotes we use too.
 */
static void quote(struct membuffer *b, const char *text, int is_attribute)
{
	const char *p = text;

	for (;;) {
		const char *escape;

		switch (*p++) {
		default:
			continue;
		case 0:
			escape = NULL;
			break;
		case 1 ... 8:
		case 11:
		case 12:
		case 14 ... 31:
			escape = "?";
			break;
		case '<':
			escape = "&lt;";
			break;
		case '>':
			escape = "&gt;";
			break;
		case '&':
			escape = "&amp;";
			break;
		case '\'':
			if (!is_attribute)
				continue;
			escape = "&apos;";
			break;
		case '\"':
			if (!is_attribute)
				continue;
			escape = "&quot;";
			break;
		}
		put_bytes(b, text, (p - text - 1));
		if (!escape)
			break;
		put_string(b, escape);
		text = p;
	}
}
static ipc_msg_hdr *create_hdr(uint32_t op, size_t *len, char **data_start, int reuse_socket)
    {
    char *msg = NULL;
    ipc_msg_hdr *hdr;
    int datalen;
#if !defined(USE_TCP_LOOPBACK)
    char ctrl_path[256];
#endif

    if (!reuse_socket)
        {
#if defined(USE_TCP_LOOPBACK)
		*len += 2;  // Allocate space for two-byte port number
#else
		struct timeval time;
		if (gettimeofday(&time, NULL) < 0) return NULL;
		sprintf(ctrl_path, "%s%d-%.3lx-%.6lu", CTL_PATH_PREFIX, (int)getpid(),
			(unsigned long)(time.tv_sec & 0xFFF), (unsigned long)(time.tv_usec));
        *len += strlen(ctrl_path) + 1;
#endif
        }

    datalen = (int) *len;
    *len += sizeof(ipc_msg_hdr);

    // write message to buffer
    msg = malloc(*len);
    if (!msg) return NULL;

    bzero(msg, *len);
    hdr = (void *)msg;
    hdr->datalen = datalen;
    hdr->version = VERSION;
    hdr->op = op;
    if (reuse_socket) hdr->flags |= IPC_FLAGS_REUSE_SOCKET;
    *data_start = msg + sizeof(ipc_msg_hdr);
#if defined(USE_TCP_LOOPBACK)
	// Put dummy data in for the port, since we don't know what
	// it is yet.  The data will get filled in before we
	// send the message. This happens in deliver_request().
	if (!reuse_socket)  put_short(0, data_start);
#else
    if (!reuse_socket)  put_string(ctrl_path, data_start);
#endif
    return hdr;
    }
Exemplo n.º 16
0
// run another code
static void run_kernel(void) {
    unsigned read_size;
    unsigned boot_args[AT45_PAGE_SIZE / 4];
    kernel_t kernel = (kernel_t) LINUX_BASE_ADDRESS;
    unsigned *tags = (unsigned *) LINUX_TAGS_ADDRESS;
    unsigned *sz, len;
    const char *cmdline = "mem=128M root=/dev/sda1 rootwait ro";

    /*if (!at45_read(BOOT_2_ARGS_OFFSET, boot_args, AT45_PAGE_SIZE)) {
        read_size = boot_args[0];
        util_printf("Read 0x%x bytes\n", read_size);
        if (read_size > 0 && read_size < (AT45DB642D_SIZE - 4)) {
            if (!at45_read(LINUX_OFFSET, (unsigned *)LINUX_BASE_ADDRESS, read_size)) {*/
    put_string("Read success\nConfiguring\n");
    /* atag_core */
    *tags++ = 5;
    *tags++ = 0x54410001;
    *tags++ = 1;
    *tags++ = 4096;
    *tags++ = 0;

    /* atag_mem */
    *tags++ = 4;
    *tags++ = 0x54410002;
    *tags++ = SDRAM_BASE_ADDRESS;
    *tags++ = SDRAM_SIZE;

    /* atag_cmdline */
    sz = tags++;
    *tags++ = 0x54410009;
    len = cmdcpy(tags, cmdline);
    *sz = 2 + len;
    tags += len;

    /* atag_none */
    *tags++ = 0;
    *tags++ = 0;

    util_printf("Jump to the kernel image\n\n");

    kernel(0, MACHINE_ID, (void*) LINUX_TAGS_ADDRESS);
    /*}
    }
    }*/
}
Exemplo n.º 17
0
static void
put_stringv (GDataOutputStream *out,
	     char **strv)
{
  int len, i;

  len = g_strv_length (strv);
  if (len > G_MAXUINT16)
    {
      g_warning ("GFileInfo stringv to large, (%d elements)\n", (int)len);
      len = 0;
    }

  g_data_output_stream_put_uint16 (out, len,
				   NULL, NULL);
  for (i = 0; i < len; i++)
    put_string (out, strv[i]);
}
Exemplo n.º 18
0
Arquivo: misc.c Projeto: monaka/B-Free
static ER
vprintf (B *fmt, VP arg0)
{
  VP *ap;

  for (ap = (VP *)arg0; *fmt != '\0'; fmt++)
    {
      if ((*fmt) == '%')
	{
	  ++fmt;
	  switch (*fmt)
	    {
	    case 's':
	      put_string (*(B **)ap, log_port);
	      INC (ap, B *);
	      break;

	    case 'd':
	      if ((W)*ap < 0)
		{
		  ((W)*ap) = -((W)*ap);
		  putc ('-', log_port);
		}
	      print_digit ((W)*ap, 10);
	      INC (ap, W);
	      break;

	    case 'x':
	      print_digit ((UW)*ap, 16);
	      INC (ap, W);
	      break;

	    default:
	      putc ('%', log_port);
	      break;
	    }
	}
      else
	{
	  putc (*fmt, log_port);
	}
    }
}
Exemplo n.º 19
0
void RefreshMainAux(int sel, int row)
{
	set_font_pal(sel == 7 ? 15 : 14);
	put_string("Horizontal Stripes", HPOS, row++);
	set_font_pal(sel == 8 ? 15 : 14);
	put_string("Checkerboard", HPOS, row++);
	set_font_pal(sel == 9 ? 15 : 14);
	put_string("Backlit Zone Test", HPOS, row++);
	set_font_pal(sel == 10 ? 15 : 14);
	put_string("Sound Test", HPOS, row++);
	set_font_pal(sel == 11 ? 15 : 14);
	put_string("Audio Sync Test", HPOS, row++);
	
	set_font_pal(sel == 12 ? 15 : 14);
	put_string("Video Options", HPOS, ++row);
	
	set_font_pal(sel == 13 ? 15 : 14);
	put_string("Help", HPOS, ++row);
	set_font_pal(sel == 14 ? 15 : 14);
	put_string("Credits", HPOS, ++row);
}
Exemplo n.º 20
0
void writeMarkers(struct membuffer *b, const bool selected_only)
{
	int i, dive_no = 0;
	struct dive *dive;
	char pre[1000], post[1000];

	for_each_dive (i, dive) {
		if (selected_only) {
			if (!dive->selected)
				continue;
		}
		struct dive_site *ds = get_dive_site_for_dive(dive);
		if (!ds || !dive_site_has_gps_location(ds))
			continue;
		put_degrees(b, ds->latitude, "temp = new google.maps.Marker({position: new google.maps.LatLng(", "");
		put_degrees(b, ds->longitude, ",", ")});\n");
		put_string(b, "markers.push(temp);\ntempinfowindow = new google.maps.InfoWindow({content: '<div id=\"content\">'+'<div id=\"siteNotice\">'+'</div>'+'<div id=\"bodyContent\">");
		snprintf(pre, sizeof(pre), "<p>%s ", translate("gettextFromC", "Date:"));
		put_HTML_date(b, dive, pre, "</p>");
		snprintf(pre, sizeof(pre), "<p>%s ", translate("gettextFromC", "Time:"));
		put_HTML_time(b, dive, pre, "</p>");
		snprintf(pre, sizeof(pre), "<p>%s ", translate("gettextFromC", "Duration:"));
		snprintf(post, sizeof(post), " %s</p>", translate("gettextFromC", "min"));
		put_duration(b, dive->duration, pre, post);
		put_string(b, "<p> ");
		put_HTML_quoted(b, translate("gettextFromC", "Max. depth:"));
		put_HTML_depth(b, dive, " ", "</p>");
		put_string(b, "<p> ");
		put_HTML_quoted(b, translate("gettextFromC", "Air temp.:"));
		put_HTML_airtemp(b, dive, " ", "</p>");
		put_string(b, "<p> ");
		put_HTML_quoted(b, translate("gettextFromC", "Water temp.:"));
		put_HTML_watertemp(b, dive, " ", "</p>");
		snprintf(pre, sizeof(pre), "<p>%s <b>", translate("gettextFromC", "Location:"));
		put_string(b, pre);
		put_HTML_quoted(b, get_dive_location(dive));
		put_string(b, "</b></p>");
		snprintf(pre, sizeof(pre), "<p> %s ", translate("gettextFromC", "Notes:"));
		put_HTML_notes(b, dive, pre, " </p>");
		put_string(b, "</p>'+'</div>'+'</div>'});\ninfowindows.push(tempinfowindow);\n");
		put_format(b, "google.maps.event.addListener(markers[%d], 'mouseover', function() {\ninfowindows[%d].open(map,markers[%d]);}", dive_no, dive_no, dive_no);
		put_format(b, ");google.maps.event.addListener(markers[%d], 'mouseout', function() {\ninfowindows[%d].close();});\n", dive_no, dive_no);
		dive_no++;
	}
}
Exemplo n.º 21
0
Arquivo: debug.c Projeto: clarkema/txr
static void show_bindings(val env, val stream)
{
  val level = zero;
  put_string(lit("bindings:\n"), stream);

  for (;; level = plus(level, one)) {
    if (nilp(env))
      break;
    else if (consp(env)) {
      format(stream, lit("~d: ~s\n"), level, env, nao);
      break;
    } else if (type(env) == ENV) {
      format(stream, lit("~d: ~s\n"), level, env->e.vbindings, nao);
      env = env->e.up_env;
    } else {
      format(stream, lit("invalid environment object: ~s\n"), env, nao);
      break;
    }
  }
}
Exemplo n.º 22
0
Arquivo: main.cpp Projeto: att/uwin
void input_entry_format::debug_print()
{
  int i;
  for (i = 0; i < pre_vline; i++)
    putc('|', stderr);
  entry_format::debug_print();
  if (!width.empty()) {
    putc('w', stderr);
    putc('(', stderr);
    put_string(width, stderr);
    putc(')', stderr);
  }
  if (equal)
    putc('e', stderr);
  if (separation >= 0)
    fprintf(stderr, "%d", separation); 
  for (i = 0; i < vline; i++)
    putc('|', stderr);
  if (last_column)
    putc(',', stderr);
}
Exemplo n.º 23
0
void possible_command::print(int is_last, FILE *fp)
{
  build_argv();
  if (IS_BSHELL(argv[0])
      && argv[1] != 0 && strcmp(argv[1], BSHELL_DASH_C) == 0
      && argv[2] != 0 && argv[3] == 0)
    fputs(argv[2], fp);
  else {
    fputs(argv[0], fp);
    string str;
    for (int i = 1; argv[i] != 0; i++) {
      str.clear();
      append_arg_to_string(argv[i], str);
      put_string(str, fp);
    }
  }
  if (is_last)
    putc('\n', fp);
  else
    fputs(" | ", fp);
}
DNSServiceErrorType DNSSD_API DNSServiceReconfirmRecord
	(
	DNSServiceFlags  flags,
	uint32_t         interfaceIndex,
	const char      *fullname,
	uint16_t         rrtype,
	uint16_t         rrclass,
	uint16_t         rdlen,
	const void      *rdata
	)
    {
    char *ptr;
    size_t len;
    ipc_msg_hdr *hdr;
    DNSServiceRef tmp;

    len = sizeof(DNSServiceFlags);
    len += sizeof(uint32_t);
    len += strlen(fullname) + 1;
    len += 3 * sizeof(uint16_t);
    len += rdlen;
    tmp = connect_to_server();
    if (!tmp) return(kDNSServiceErr_Unknown);
    hdr = create_hdr(reconfirm_record_request, &len, &ptr, 1);
    if (!hdr) return(kDNSServiceErr_Unknown);

    put_flags(flags, &ptr);
    put_long(interfaceIndex, &ptr);
    put_string(fullname, &ptr);
    put_short(rrtype, &ptr);
    put_short(rrclass, &ptr);
    put_short(rdlen, &ptr);
    put_rdata(rdlen, rdata, &ptr);
	ConvertHeaderBytes(hdr);
    write_all(tmp->sockfd, (char *)hdr, (int) len);
    free(hdr);
    DNSServiceRefDeallocate(tmp);
    return(kDNSServiceErr_NoError);
    }
DNSServiceErrorType DNSSD_API DNSServiceSetDefaultDomainForUser
	(
	DNSServiceFlags  flags,
	const char      *domain
	)
    {
    DNSServiceRef sdr;
    DNSServiceErrorType err;
    char *ptr = NULL;
    size_t len = sizeof(flags) + strlen(domain) + 1;
    ipc_msg_hdr *hdr = create_hdr(setdomain_request, &len, &ptr, 1);

    if (!hdr) return kDNSServiceErr_Unknown;
    put_flags(flags, &ptr);
    put_string(domain, &ptr);

    sdr = connect_to_server();
    if (!sdr) { free(hdr); return kDNSServiceErr_Unknown; }
    err = deliver_request((char *)hdr, sdr, 1); // deliver_request frees the message for us
	DNSServiceRefDeallocate(sdr);
	return err;
    }
Exemplo n.º 26
0
// ********************************************
void systeminfo_output(void)
{
	int y = 30;
	int dy = 20;
	struct sysinfo si;
	char  s[40] = "";

	sysinfo(&si);
	// Uptime
	sprintf (s, "system uptime  : %ld days, %ld:%02ld:%02ld", 
			 si.uptime / SEC_DAY, 
			(si.uptime % SEC_DAY) / SEC_HOUR, 
			(si.uptime % SEC_HOUR) / SEC_MINUTE, 
		 	 si.uptime % SEC_MINUTE);
	
	put_string(10, y, s, LIGHT_GREY, FONT_8X16);
	y+=dy;
	// Loads
	sprintf (s, "load avg.      : %4.2f %4.2f %4.2f", 
			si.loads[0] / LINUX_SYSINFO_LOADS_SCALE, 
			si.loads[1] / LINUX_SYSINFO_LOADS_SCALE, 
			si.loads[2] / LINUX_SYSINFO_LOADS_SCALE);
	put_string(10, y, s, LIGHT_GREY, FONT_8X16);
	y+=dy;
	// RAM
	sprintf (s, "ram [MByte]    : %5.1f/%5.1f", 
			(si.totalram - si.freeram) / ONE_MBYTE,
			si.totalram / ONE_MBYTE);	
	put_string(10, y, s, LIGHT_GREY, FONT_8X16);
	y+=dy;
	// SWAP
	sprintf (s, "swap [MByte]   : %5.1f/%5.1f", 
			(si.totalswap - si.freeswap) / ONE_MBYTE,
			si.totalswap / ONE_MBYTE);
	put_string(10, y, s, LIGHT_GREY, FONT_8X16);
	y+=dy;
	// Processes/User
	sprintf (s, "proc./user     : %5i/%i",
			si.procs,
			get_number_of_users());
	put_string(10, y, s, LIGHT_GREY, FONT_8X16);
	y+=dy;
	// Netzwerk Rx/Tx-Statistik
	sprintf (s, "rx/tx [kByte/s]: %5.1f/%5.1f", rx_kbs, tx_kbs);
	put_string(10, y, s, LIGHT_GREY, FONT_8X16);
}
Exemplo n.º 27
0
int RecievePacket(char* packet){
	put_string("BEGIN REC PACKET\r\n");
	//strcpy(packet,DummyPacket);
	int PacketLength = strlen(DummyPacket);
	put_string("Dummy packet length: "); put_number(PacketLength); put_string("\r\n");
	//display_string("r packet length: "); display_number(PacketLength); display_string("\n");
	for(int i=0;i<(PacketLength);i++){
		packet[i] = DummyPacket[i];
	}
	for(int i=0;i<(MAXPACKETSIZE+1);i++){
		DummyPacket[i] = 0;
	}
	PacketLength = strlen(packet);
	put_string("Real packet length: "); put_number(PacketLength); put_string("\r\n");
	put_string("END REC PACKET\r\n");
	return 0;
}
Exemplo n.º 28
0
void RefreshMain(int sel)
{
	int row = 8;

	set_font_pal(sel == 0 ? 15 : 14);
	put_string("Test Patterns", HPOS, row++);
	set_font_pal(sel == 1 ? 15 : 14);
	put_string("Drop Shadow Test", HPOS, row++);
	set_font_pal(sel == 2 ? 15 : 14);
	put_string("Striped Sprite Test", HPOS, row++);
	set_font_pal(sel == 3 ? 15 : 14);
	put_string("Lag Test", HPOS, row++);
	set_font_pal(sel == 4 ? 15 : 14);
	put_string("Manual Lag Test", HPOS, row++);
	set_font_pal(sel == 5 ? 15 : 14);
	put_string("Scroll Test", HPOS, row++);
	set_font_pal(sel == 6 ? 15 : 14);
	put_string("Grid Scroll Test", HPOS, row++);
	
	RefreshMainAux(sel, row);
}
Exemplo n.º 29
0
static void quote(struct membuffer *b, const char *text)
{
	const char *p = text;

	for (;;) {
		const char *escape;

		switch (*p++) {
		default:
			continue;
		case 0:
			escape = NULL;
			break;
		case 1 ... 8:
		case 11:
		case 12:
		case 14 ... 31:
			escape = "?";
			break;
		case '\\':
			escape = "\\\\";
			break;
		case '"':
			escape = "\\\"";
			break;
		case '\n':
			escape = "\n\t";
			if (*p == '\n')
				escape = "\n";
			break;
		}
		put_bytes(b, text, (p - text - 1));
		if (!escape)
			break;
		put_string(b, escape);
		text = p;
	}
}
Exemplo n.º 30
0
/*! \fn       int32 debug_msg(int8 *pString, int8 *pFile, uint16 ulLine)
*
*  \brief     输出调试信息
*
*  \param     pString [in] 输出的字符串
*
*  \param     *pFile  [in] __FILE__/为NULL表示不打印文件名及行号
*
*  \param     ulLine  [in] __LINE__
*
*  \exception 注意:在输出行号后会打印”\r\n“
*
*  \return    EXIT_SUCCESS:成功,EXIT_FAILURE:失败
*/
int32 debug_msg(int8 *pString, int8 *pFile, uint16 ulLine)
{
    int32 lRet = EXIT_SUCCESS;

    /*! 输出字符串 */
    if(NULL != pString)
    {
        if(EXIT_FAILURE == put_string(pString))
        {
            lRet = EXIT_FAILURE;
        }
    }

    /*! 输出调用此函数的文件名与行号 */
    if(NULL != pFile)
    {
        if(EXIT_FAILURE == put_file_line(pFile, ulLine))
        {
            lRet = EXIT_FAILURE;
        }
    }

    return lRet;
}