---
name: "ccw_device_start"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/ccw_device_start"
---

# ccw\_device\_start(9)

start a s390 channel program

## NAME

ccw\_device\_start - start a s390 channel program

## SYNOPSIS

**int ccw\_device\_start(struct ccw\_device \*** *cdev***, struct ccw1 \*** *cpa***, unsigned long** *intparm***, \_\_u8** *lpm***, unsigned long** *flags***);**

## ARGUMENTS

*cdev*

target ccw device

*cpa*

logical start address of channel program

*intparm*

user specific interruption parameter; will be presented back to *cdev*'s interrupt handler. Allows a device driver to associate the interrupt with a particular I/O request.

*lpm*

defines the channel path to be used for a specific I/O request. A value of 0 will make cio use the opm.

*flags*

additional flags; defines the action to be performed for I/O processing.

## DESCRIPTION

Start a S/390 channel program. When the interrupt arrives, the IRQ handler is called, either immediately, delayed (dev-end missing, or sense required) or never (no IRQ handler registered).

## RETURN

**0**, if the operation was successful; -**EBUSY**, if the device is busy, or status pending; -**EACCES**, if no path specified in *lpm* is operational; -**ENODEV**, if the device is not operational.

## CONTEXT

Interrupts disabled, ccw device lock held

## AUTHOR

**Cornelia Huck** \<cornelia.huck@de.ibm.com\>

Author.

## COPYRIGHT
