Example #1
0
struct file *console_alloc()
{
	struct console_file *f = (struct console_file *)kmalloc(sizeof(struct console_file));
	file_init(&f->custom_file.base_file, &console_ops, O_LARGEFILE | O_RDWR);
	virtualfs_init_custom(f, &console_desc);
	return (struct file *)f;
}
Example #2
0
static struct file *dsp_alloc()
{
	struct dsp_file *f = (struct dsp_file *)kmalloc(sizeof(struct dsp_file));
	file_init(&f->custom_file.base_file, &dsp_ops, O_LARGEFILE | O_RDWR);
	virtualfs_init_custom(f, &dsp_desc);
	f->waveout = NULL;
	SECURITY_ATTRIBUTES attr;
	attr.nLength = sizeof(SECURITY_ATTRIBUTES);
	attr.bInheritHandle = FALSE;
	attr.lpSecurityDescriptor = NULL;
	for (int i = 0; i < DSP_BUFFER_COUNT; i++)
		f->buffer[i].event = CreateEventW(&attr, FALSE, TRUE, NULL);
	dsp_reset(f);
	return (struct file *)f;
}