コード例 #1
0
ファイル: fastboot.c プロジェクト: SonyAimbo/iq456_kernel
static void register_parition_var(void)
{
	int i;
	unsigned long long p_size;
	char *type_buf;
	char *value_buf;
	char *var_name_buf;
	char *p_name_buf;

	for(i=0;i<PART_MAX_COUNT;i++){
		p_size = partition_get_size(i);
		if(p_size == -1)
			break;
		partition_get_name(i,&p_name_buf);

		partition_get_type(i,&type_buf);
		var_name_buf = malloc(30);
		sprintf(var_name_buf,"partition-type:%s",p_name_buf);
		fastboot_publish(var_name_buf,type_buf);
		//printf("%d %s %s\n",i,var_name_buf,type_buf);

		/*reserved for MTK security*/
		if(!strcmp(type_buf,"ext4")){
			if(!strcmp(p_name_buf,"userdata")){
				p_size -= (u64)1*1024*1024;
				if (p_size > 800*1024*1024) {
				    p_size = 800*1024*1024;
				}
			}
		}
		value_buf = malloc(20);
		sprintf(value_buf,"%llx",p_size);
		var_name_buf = malloc(30);
		sprintf(var_name_buf,"partition-size:%s",p_name_buf);
		fastboot_publish(var_name_buf,value_buf);
		//printf("%d %s %s\n",i,var_name_buf,value_buf);
		
	}
}
コード例 #2
0
ファイル: entry.c プロジェクト: apprisi/illumos-gate
char *
dm_get_name(dm_descriptor_t desc, int *errp)
{
	descriptor_t	*dp;
	char		*nm = NULL;
	char		*name = NULL;

	dp = (descriptor_t *)(uintptr_t)desc;

	cache_rlock();

	if (!cache_is_valid_desc(dp)) {
		cache_unlock();
		*errp = EBADF;
		return (NULL);
	}

	/* verify that the descriptor is still valid */
	if (dp->p.generic == NULL) {
		cache_unlock();
		*errp = ENODEV;
		return (NULL);
	}

	switch (dp->type) {
	case DM_DRIVE:
		nm = (drive_get_name(dp));
		break;
	case DM_BUS:
		nm = (bus_get_name(dp));
		break;
	case DM_CONTROLLER:
		nm = (controller_get_name(dp));
		break;
	case DM_MEDIA:
		nm = (media_get_name(dp));
		break;
	case DM_SLICE:
		nm = (slice_get_name(dp));
		break;
	case DM_PARTITION:
		nm = (partition_get_name(dp));
		break;
	case DM_PATH:
		nm = (path_get_name(dp));
		break;
	case DM_ALIAS:
		nm = (alias_get_name(dp));
		break;
	}

	cache_unlock();

	*errp = 0;
	if (nm != NULL) {
		name = strdup(nm);
		if (name == NULL) {
			*errp = ENOMEM;
			return (NULL);
		}
		return (name);
	}
	return (NULL);
}