HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ip-172-26-0-120 6.17.0-1009-aws #9~24.04.2-Ubuntu SMP Fri Mar 6 23:50:29 UTC 2026 x86_64
User: ubuntu (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //usr/src/linux-headers-7.0.0-1009-aws/include/linux/comedi/comedilib.h
/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * comedilib.h
 * Header file for kcomedilib
 *
 * COMEDI - Linux Control and Measurement Device Interface
 * Copyright (C) 1998-2001 David A. Schleef <[email protected]>
 */

#ifndef _LINUX_COMEDILIB_H
#define _LINUX_COMEDILIB_H

struct comedi_device *comedi_open_from(const char *path, int from);

/**
 * comedi_open() - Open a COMEDI device from the kernel
 * @filename: Fake pathname of the form "/dev/comediN".
 *
 * Converts @filename to a COMEDI device number and "opens" it if it exists
 * and is attached to a low-level COMEDI driver.
 *
 * Return: A pointer to the COMEDI device on success.
 * Return %NULL on failure.
 */
static inline struct comedi_device *comedi_open(const char *path)
{
	return comedi_open_from(path, -1);
}

int comedi_close_from(struct comedi_device *dev, int from);

/**
 * comedi_close() - Close a COMEDI device from the kernel
 * @dev: COMEDI device.
 *
 * Closes a COMEDI device previously opened by comedi_open().
 *
 * Returns: 0
 */
static inline int comedi_close(struct comedi_device *dev)
{
	return comedi_close_from(dev, -1);
}

int comedi_dio_get_config(struct comedi_device *dev, unsigned int subdev,
			  unsigned int chan, unsigned int *io);
int comedi_dio_config(struct comedi_device *dev, unsigned int subdev,
		      unsigned int chan, unsigned int io);
int comedi_dio_bitfield2(struct comedi_device *dev, unsigned int subdev,
			 unsigned int mask, unsigned int *bits,
			 unsigned int base_channel);
int comedi_find_subdevice_by_type(struct comedi_device *dev, int type,
				  unsigned int subd);
int comedi_get_n_channels(struct comedi_device *dev, unsigned int subdevice);

#endif