Ejemplo n.º 1
0
int main(void) {
    char *status;
    float mem;
    int bat0;
    char *datetime;
    char *address;
    char battext[6];
    char *volume;

    if (!(dpy = XOpenDisplay(NULL))) {
        fprintf(stderr, "Cannot open display.\n");
        return 1;
    }

    status = xmalloc(200);

    for (;;sleep(1)) {
        datetime = getdatetime();
        mem = getmeminfo();
        bat0 = getbattery();
        address = getaddress();
        volume = getvolume();

        if (ischarging())
            strcpy(battext, "ac:");
        else {
            if (bat0 > 50)
                strcpy(battext, "bat:");
            else if (bat0 < 20)
                strcpy(battext, "bat:");
            else
                strcpy(battext, "bat:");
        }

        snprintf(status, 200,
                "|%s|mem:%0.0f%%|%s%d%%|vol:%s|%s|",
                address, mem, battext, bat0, volume, datetime);

        free(datetime);
        free(address);
        free(volume);
        setstatus(status);
    }

    free(status);
    XCloseDisplay(dpy);

    return 0;
}
Ejemplo n.º 2
0
void main(int argc, char *argv[]) {

	getmeminfo();

	printf("\n");
	printf("DPMI Memory Information:\n");
	printf("-----------------------------------------------------------------\n");

	printf("Largest Available Free Block Size:   ");
		printf("0x%08X (%9d) bytes",
		Mem.LargestFreeBlock,
		Mem.LargestFreeBlock);
	printf("\n");

	printf("Maximum Unlocked Page Allocations:   ");
	if(Mem.MaxUnlockedPages!=-1)
		printf("0x%08X (%9d) pages",
		Mem.MaxUnlockedPages,
		Mem.MaxUnlockedPages);
	else printf("information not available");
	printf("\n");

	printf("Maximum Locked Page Allocations:     ");
	if(Mem.MaxLockedPages!=-1)
		printf("0x%08X (%9d) pages",
		Mem.MaxLockedPages,
		Mem.MaxLockedPages);
	else printf("information not available");
	printf("\n");

	printf("Linear Address Space Size:           ");
	if(Mem.LinearSpaceInPages!=-1)
		printf("0x%08X (%9d) pages",
		Mem.LinearSpaceInPages,
		Mem.LinearSpaceInPages);
	else printf("information not available");
	printf("\n");

	printf("Total Number of Unlocked Pages:      ");
	if(Mem.TotalNumOfUnlockedPages!=-1)
		printf("0x%08X (%9d) pages",
		Mem.TotalNumOfUnlockedPages,
		Mem.TotalNumOfUnlockedPages);
	else printf("information not available");
	printf("\n");

	printf("Total Number of Free Pages:          ");
	if(Mem.TotalNumOfFreePages!=-1)
		printf("0x%08X (%9d) pages",
		Mem.TotalNumOfFreePages,
		Mem.TotalNumOfFreePages);
	else printf("information not available");
	printf("\n");

	printf("Total Number of Physical Pages:      ");
	if(Mem.TotalNumOfPhysPages!=-1)
		printf("0x%08X (%9d) pages",
		Mem.TotalNumOfPhysPages,
		Mem.TotalNumOfPhysPages);
	else printf("information not available");
	printf("\n");

	printf("Free Linear Address Space:           ");
	if(Mem.FreeLinearSpaceInPages!=-1)
		printf("0x%08X (%9d) pages",
		Mem.FreeLinearSpaceInPages,
		Mem.FreeLinearSpaceInPages);
	else printf("information not available");
	printf("\n");

	printf("Size of Paging File/Partition:       ");
	if(Mem.SizeOfPagingFile!=-1)
		printf("0x%08X (%9d) pages",
		Mem.SizeOfPagingFile,
		Mem.SizeOfPagingFile);
	else printf("information not available");
	printf("\n");


	exit(0);
}
Ejemplo n.º 3
0
int showinfo (int fd)
{
   int i,err,n;
   struct mtd_info_user mtd;
   static struct region_info_user region[1024];

   err = getmeminfo (fd,&mtd);
   if (err < 0)
	 {
		perror ("MEMGETINFO");
		return (1);
	 }

   err = getregions (fd,region,&n);
   if (err < 0)
	 {
		perror ("MEMGETREGIONCOUNT");
		return (1);
	 }

   printf ("mtd.type = ");
   switch (mtd.type)
	 {
	  case MTD_ABSENT:
		printf ("MTD_ABSENT");
		break;
	  case MTD_RAM:
		printf ("MTD_RAM");
		break;
	  case MTD_ROM:
		printf ("MTD_ROM");
		break;
	  case MTD_NORFLASH:
		printf ("MTD_NORFLASH");
		break;
	  case MTD_NANDFLASH:
		printf ("MTD_NANDFLASH");
		break;
	  case MTD_PEROM:
		printf ("MTD_PEROM");
		break;
	  case MTD_OTHER:
		printf ("MTD_OTHER");
		break;
	  case MTD_UNKNOWN:
		printf ("MTD_UNKNOWN");
		break;
	  default:
		printf ("(unknown type - new MTD API maybe?)");
	 }

   printf ("\nmtd.flags = ");
   if (mtd.flags == MTD_CAP_ROM)
	 printf ("MTD_CAP_ROM");
   else if (mtd.flags == MTD_CAP_RAM)
	 printf ("MTD_CAP_RAM");
   else if (mtd.flags == MTD_CAP_NORFLASH)
	 printf ("MTD_CAP_NORFLASH");
   else if (mtd.flags == MTD_CAP_NANDFLASH)
	 printf ("MTD_CAP_NANDFLASH");
   else if (mtd.flags == MTD_WRITEABLE)
	 printf ("MTD_WRITEABLE");
   else
	 {
		int i,first = 1;
		static struct
		  {
			 const char *name;
			 int value;
		  } flags[] =
		  {
			 { "MTD_CLEAR_BITS", MTD_CLEAR_BITS },
			 { "MTD_SET_BITS", MTD_SET_BITS },
			 { "MTD_ERASEABLE", MTD_ERASEABLE },
			 { "MTD_WRITEB_WRITEABLE", MTD_WRITEB_WRITEABLE },
			 { "MTD_VOLATILE", MTD_VOLATILE },
			 { "MTD_XIP", MTD_XIP },
			 { "MTD_OOB", MTD_OOB },
			 { "MTD_ECC", MTD_ECC },
			 { NULL, -1 }
		  };
		for (i = 0; flags[i].name != NULL; i++)
		  if (mtd.flags & flags[i].value)
			{
			   if (first)
				 {
					printf (flags[i].name);
					first = 0;
				 }
			   else printf (" | %s",flags[i].name);
			}
	 }

   printf ("\nmtd.size = ");
   printsize (mtd.size);

   printf ("\nmtd.erasesize = ");
   printsize (mtd.erasesize);

   printf ("\nmtd.oobblock = ");
   printsize (mtd.oobblock);

   printf ("\nmtd.oobsize = ");
   printsize (mtd.oobsize);

   printf ("\nmtd.ecctype = ");
   switch (mtd.ecctype)
	 {
	  case MTD_ECC_NONE:
		printf ("MTD_ECC_NONE");
		break;
	  case MTD_ECC_RS_DiskOnChip:
		printf ("MTD_ECC_RS_DiskOnChip");
		break;
	  case MTD_ECC_SW:
		printf ("MTD_ECC_SW");
		break;
	  default:
		printf ("(unknown ECC type - new MTD API maybe?)");
	 }

   printf ("\n"
		   "regions = %d\n"
		   "\n",
		   n);

   for (i = 0; i < n; i++)
	 {
		printf ("region[%d].offset = 0x%.8x\n"
				"region[%d].erasesize = ",
				i,region[i].offset,i);
		printsize (region[i].erasesize);
		printf ("\nregion[%d].numblocks = %d\n"
				"region[%d].regionindex = %d\n",
				i,region[i].numblocks,
				i,region[i].regionindex);
	 }
   return (0);
}
Ejemplo n.º 4
0
int showinfo (int fd)
{
	int i,err,n;
	struct mtd_info_user mtd;
	static struct region_info_user region[1024];

	err = getmeminfo (fd,&mtd);
	if (err < 0)
	{
		perror ("MEMGETINFO");
		return (1);
	}

	err = getregions (fd,region,&n);
	if (err < 0)
	{
		perror ("MEMGETREGIONCOUNT");
		return (1);
	}

	printf ("mtd.type = ");
	switch (mtd.type)
	{
		case MTD_ABSENT:
			printf ("MTD_ABSENT");
			break;
		case MTD_RAM:
			printf ("MTD_RAM");
			break;
		case MTD_ROM:
			printf ("MTD_ROM");
			break;
		case MTD_NORFLASH:
			printf ("MTD_NORFLASH");
			break;
		case MTD_NANDFLASH:
			printf ("MTD_NANDFLASH");
			break;
		case MTD_DATAFLASH:
			printf ("MTD_DATAFLASH");
			break;
		case MTD_UBIVOLUME:
			printf ("MTD_UBIVOLUME");
		default:
			printf ("(unknown type - new MTD API maybe?)");
	}

	printf ("\nmtd.flags = ");
	if (mtd.flags == MTD_CAP_ROM)
		printf ("MTD_CAP_ROM");
	else if (mtd.flags == MTD_CAP_RAM)
		printf ("MTD_CAP_RAM");
	else if (mtd.flags == MTD_CAP_NORFLASH)
		printf ("MTD_CAP_NORFLASH");
	else if (mtd.flags == MTD_CAP_NANDFLASH)
		printf ("MTD_CAP_NANDFLASH");
	else if (mtd.flags == MTD_WRITEABLE)
		printf ("MTD_WRITEABLE");
	else
	{
		int first = 1;
		static struct
		{
			const char *name;
			int value;
		} flags[] =
		{
			{ "MTD_WRITEABLE", MTD_WRITEABLE },
			{ "MTD_BIT_WRITEABLE", MTD_BIT_WRITEABLE },
			{ "MTD_NO_ERASE", MTD_NO_ERASE },
			{ "MTD_STUPID_LOCK", MTD_STUPID_LOCK },
			{ NULL, -1 }
		};
		for (i = 0; flags[i].name != NULL; i++)
			if (mtd.flags & flags[i].value)
			{
				if (first)
				{
					printf (flags[i].name);
					first = 0;
				}
				else printf (" | %s",flags[i].name);
			}
	}

	printf ("\nmtd.size = ");
	printsize (mtd.size);

	printf ("\nmtd.erasesize = ");
	printsize (mtd.erasesize);

	printf ("\nmtd.writesize = ");
	printsize (mtd.writesize);

	printf ("\nmtd.oobsize = ");
	printsize (mtd.oobsize);

	printf ("\n"
			"regions = %d\n"
			"\n",
			n);

	for (i = 0; i < n; i++)
	{
		printf ("region[%d].offset = 0x%.8x\n"
				"region[%d].erasesize = ",
				i,region[i].offset,i);
		printsize (region[i].erasesize);
		printf ("\nregion[%d].numblocks = %d\n"
				"region[%d].regionindex = %d\n",
				i,region[i].numblocks,
				i,region[i].regionindex);
	}
	return (0);
}