void kcadvalor(char far *s, int n)
{
        char cadena[80], far * p = cadena;

        kstrcpy(p, s);
        kitoa(p + kstrlen(s), n);
        kstrcat(p, "\n\r");
        kputs(p);
}
Exemple #2
0
static int st_printf(char *s,int fl,char *format,unsigned int *vargs)
{
	char itos_buf[ITOS_BSIZE],*chp;
/*	unsigned int *vargs;*/
	int varg_index=0,i,start_i,temp_char;	

	/*asm("mov %%ebp,%0":"=m" (vargs):);
	vargs+=4;*/

	s[0]=0;

	for(i=0;format[i];)
	{
		if(format[i]=='%')
		{
			switch(format[i+1]){
			case 'u':
				itos_ud(vargs[varg_index],itos_buf);
				
				if(fl<0) kstrcat(s,itos_buf);
				else write_string(fl,itos_buf);
				
				varg_index++;
				break;
			case 'x':
				itos_ux(vargs[varg_index],itos_buf);

				if(fl<0) kstrcat(s,itos_buf);
				else write_string(fl,itos_buf);

				varg_index++;
				break;
			case 's':
				chp=(char*)vargs[varg_index];
				
				if(fl<0) kstrcat(s,chp);
				else write_string(fl,chp);				

				varg_index++;

				break;				
			default:return -1;
			}
			i+=2;
		}

		start_i=i;
		for(;format[i] && format[i]!='%';i++);

		if(i!=start_i)
		{
			if(fl<0)
			{
				temp_char=format[i];
				format[i]=0;
				kstrcat(s,format+start_i);
				format[i]=temp_char;
			}
			else write(fl,format+start_i,i-start_i);				
		}
	}
	return 0;
}
Exemple #3
0
int MediaSrvMaster(char *process, int max, int type)
#endif
{
	PMEDIA_OBJECT obj;
	PLIST head;
	PLIST n;
	int tasks;
	int owners;
	int len;

	// 获取媒体使用的设备
	kMutexWait(hMediaMutex);
//	if(ListEmpty(&MediaObjList))
//	{
//		kMutexRelease(hMediaMutex);
//		return 0;
//	}
	
	// 循环获取所有正在播放的音频任务名称,并用分隔符返回
	if(process)
		kstrcpy(process, "");
	tasks = 0;
	len = 0;
	head = &MediaObjList;
	for(n=ListFirst(head); n!=head; n=ListNext(n))
	{
		// 获取打开设备对象
		obj = ListEntry(n, MEDIA_OBJECT, Link);
		if(process)
		{
			if(tasks)
			{
				len++;
				if(len < max)
					kstrcat(process, ";");
			}
			if(obj->MediaInfo)
			{
				len += kstrlen(obj->MediaInfo);
				if(len < max)
					kstrcat(process, obj->MediaInfo);
			}
			else
			{
				len += 6;
				if(len < max)
					kstrcat(process, "<NULL>");
			}
		}
		tasks++;
	}
	
	// 获取打开DAC设备情况
	owners = DacGetOwners();
	if(owners > tasks)
	{
		if(process)
		{
			if(tasks)
			{
				len++;
				if(len < max)
					kstrcat(process, ";");
			}
			len += 8;
			if(len < max)
				kstrcat(process, "<DIRECT>");
		}
		tasks = owners;	
	}
	kMutexRelease(hMediaMutex);
	return tasks;
}