General

Common user/kernel-space general-purpose declarations.

These basic declarations are provided to user-space applications.

This part of the API is technically available to both user-space and kernel-space code, however the only intended kernel-space usage of these declarations is to convey information to user-space applications.

CUDDL_MAX_STR_LEN

Maximum allowed length for Cuddl string variables.

type cuddl_size_t

Data type used to represent a count of bytes.

Description

This will be equivalent to size_t on POSIX systems.

struct cuddl_resource_id

Resource identifier.

Definition

struct cuddl_resource_id {
  char group[CUDDL_MAX_STR_LEN];
  char device[CUDDL_MAX_STR_LEN];
  char resource[CUDDL_MAX_STR_LEN];
  int instance;
};

Members

group

Name of the group in which the resource’s parent device resides. In some cases, this field is used to indicate the PCI card on which the parent device is located.

device

Name of the parent device (i.e. hardware peripheral) for a particular resource.

resource

Name of a particular resource (i.e. specific memory region or event source) that is associated with a specific (parent) device.

instance

Used to differentiate between multiple resources that are registered with identical group, device, and resource fields.

Description

Data structure used to specify a memory region or event source resource by name. If any field contains an empty string (or is 0, in the case of instance), the field is considered to be unspecified. Unspecified fields will be treated as don’t care values when searching for a matching resource in the resource list.