Exemple #1
0
int
main ()
{
	void *p = &main;
	char *arg = p - (*(int *)(p - 8));
	int flags = (*(int *)(p - 12));
		if (strlen(arg) <= 0)
	{
		return 1;
	}

	while(arg[0]==' ' || arg[0]=='\t') arg++;

	if (strlen(arg) > 256)
	return !(errnum = ERR_WONT_FIT);

	if (open(arg))
	{
		read ((unsigned long long)(unsigned int)(char *) RAW_ADDR (BASE_FONT_ADDR), -1, 0xedde0d90);
		close();

		if (InitFont())
		{
				unsigned long long ch;
				arg=skip_to(0,arg);
				if (! safe_parse_maxint(&arg,&ch))
					return 0;
				ch &= 0xffff;
			if (ch)
			{
				ReadCharDistX(ch);
				int dwOffset;
				WORD bytesPerLine = 0;
				dwOffset = ReadCharDotArray(ch, &bytesPerLine);
				DisplayChar(_fl_header.YSize, bytesPerLine, (char *)BASE_FONT_ADDR + dwOffset);
				return 0;
			}
		}
		return 1;
	}
	else
	{
		printf ("load fontfile failed!\n");
		return 0;
	}
}
Exemple #2
0
/**
* @attention 本注释得到了"核高基"科技重大专项2012年课题“开源操作系统内核分析和安全性评估
*(课题编号:2012ZX01039-004)”的资助。
*
* @copyright 注释添加单位:清华大学——03任务(Linux内核相关通用基础软件包分析)承担单位
*
* @author 注释添加人员:谢文学
*
* @date 注释添加日期:2013年5月10日
*
* @note 注释详细内容:
* 
* 本函数实现线性内存分配器的初始化的功能。实际就是将linalloc_topaddr设置为
* mbi.mem_upper以上1MB的位置。
*/
static void
reset_linalloc (void)
{
  linalloc_topaddr = RAW_ADDR ((mbi.mem_upper << 10) + 0x100000);
}
Exemple #3
0
static void
reset_linalloc (void)
{
  linalloc_topaddr = RAW_ADDR ((mbi.mem_upper << 10) + 0x100000);
  linalloc_topaddr -= ZFS_SCRATCH_SIZE;
}