ftp.nice.ch/pub/next/developer/languages/c/gcc.2.7.2.2.I.b.tar.gz#/lib/gcc-lib/i386-next-nextstep3/2.7.2.2.f.2/include/sound/snddriver_client.h

This is snddriver_client.h in view mode; [Download] [Up]

/*
 *	snddriver_client.h
 *	Copyright 1990 NeXT, Inc.
 *
 *	This file gets #import'ed by sounddriver.h.
 */
 
kern_return_t snddriver_get_device_parms (
	port_t		device_port,		/* valid device port*/
	boolean_t	*speaker,		/* returned speaker enable */
	boolean_t	*lowpass,		/* returned lowpass filter en.*/
	boolean_t	*zerofill);

kern_return_t snddriver_set_device_parms (
	port_t		device_port,		/* valid device port*/
	boolean_t	speaker,		/* enable speaker	*/
	boolean_t	lowpass,		/* enable lowpass filter*/
	boolean_t	zerofill);

/* new in 2.0 */
kern_return_t snddriver_set_ramp (
	port_t		device_port,		/* valid device port*/
	int		rampflags);		/* Flags for setting ramp*/

kern_return_t snddriver_get_volume (
	port_t		device_port,		/* valid device port*/
	int		*left_chan,		/* returned volume*/
	int		*right_chan);

kern_return_t snddriver_set_volume (
	port_t		device_port,		/* valid device port*/
	int		left_chan,		/* volume on left channel*/
	int		right_chan);

kern_return_t snddriver_set_dsp_owner_port (
	port_t		device_port,		/* valid device port*/
	port_t		owner_port,		/* dsp owner port*/
	port_t		*neg_port);

kern_return_t snddriver_set_sndin_owner_port (
	port_t		device_port,		/* valid device port*/
	port_t		owner_port,		/* sound in owner port*/
	port_t		*neg_port);

kern_return_t snddriver_set_sndout_owner_port (
	port_t		device_port,		/* valid device port*/
	port_t		owner_port,		/* sound out owner port*/
	port_t		*neg_port);

kern_return_t snddriver_get_dsp_cmd_port (
	port_t		device_port,		/* valid device port*/
	port_t		owner_port,		/* valid owner port*/
	port_t		*cmd_port);

kern_return_t snddriver_dspcmd_req_msg (
	port_t		cmd_port,		/* valid dsp command port*/
	port_t		reply_port);

kern_return_t snddriver_dspcmd_req_err (
	port_t		cmd_port,		/* valid dsp command port*/
	port_t		reply_port);

kern_return_t snddriver_dspcmd_req_condition (	/*?*/
	port_t		cmd_port,		/* valid dsp command port*/
	u_int		mask,			/* mask of flags in condition*/
	u_int		flags,			/* value of flags in condition*/
	int		priority,		/* priority of this transaction*/
	port_t		reply_port);

kern_return_t snddriver_dsp_set_flags (
	port_t		cmd_port,		/* valid dsp command port*/
	u_int		mask,			/* mask of flags to affect*/
	u_int		flags,			/* values of affected flags*/
	int		priority);

kern_return_t snddriver_dsp_host_cmd (
	port_t		cmd_port,		/* valid dsp command port*/
	u_int		host_command,		/* host command to execute*/
	int		priority);

/* New for 2.0 */
kern_return_t snddriver_dsp_read_data (
	port_t		cmd_port,		/* valid command port*/
	void		**data,			/* buffer pointer or NULL*/
	int		count,			/* count of data elements*/
	int		data_size,		/* bytes per data element*/
	int		priority);		/* priority of this transaction*/

/* New for 2.0 */
kern_return_t snddriver_dsp_read_messages (
	port_t		cmd_port,		/* valid command port*/
	void		*data,			/* buffer pointer or NULL*/
	int		*count,			/* count of data elements*/
	int		data_size,		/* bytes per data element*/
	int		priority);		/* priority of this transaction*/

kern_return_t snddriver_dsp_read (
	port_t		cmd_port,		/* valid command port*/
	void		*data,			/* pointer to buffer*/
	int		*count,			/* count of data elements*/
	int		data_size,		/* bytes per data element*/
	int		priority);
/* Calls read_messages if DSPMSG, DSPERR, or C_DMA protocol, else read_data */

kern_return_t snddriver_dsp_write (
	port_t		cmd_port,		/* valid command port*/
	void		*data,			/* pointer to buffer*/
	int		count,			/* count of data elements*/
	int		data_size,		/* bytes per data element*/
	int		priority);

kern_return_t snddriver_dsp_boot (
	port_t		cmd_port,		/* valid command port*/
	int		*bootImage,		/* on-chip instructions*/
	int		bootImageSize,		/* instruction count*/
	int		priority);

/*
 * Set number of dma descriptors in stream.
 * New for 2.0.
 */
kern_return_t snddriver_stream_ndma (
	port_t		stream_port,		/* valid stream port*/
	int		tag,			/* tag to identify stream*/
	int		ndma);			/* number of dma descs in stream*/

/* 
 * Reset dsp (new in 2.0). 
 */
kern_return_t snddriver_dsp_reset (
	port_t		cmd_port,		/* valid command port*/
	int		priority);		/* priority of this transaction*/

/*
 * Re-allocate the device port.  This causes all current connections to be
 * terminated. (New in 2.0)
 * This routine causes the current device port (and all other driver ports) to be
 * deallocated.  A new device port is allocated and returned in the new_dev_port
 * argument.  The purpose of this call is to provide security by allowing a privileged
 * entity to terminate all connections to the device and re-register the device in the
 * proper name space.  The host_priv_port argument is the port returned by the
 * host_priv_port() trap (see <mach_host.h>).
 */
kern_return_t snddriver_new_device_port (
	port_t		device_port,	/* current valid device port*/
	port_t		host_priv_port,	/* from host_priv_self()*/
	port_t		*new_dev_port);	/* new device port*/

/*
 * Exchange the current dsp owner port with a new one.  New for 2.0.
 */
kern_return_t snddriver_reset_dsp_owner (
	port_t		device_port,	/* valid device port*/
	port_t		old_owner_port,	/* old dsp owner port*/
	port_t		new_owner_port,	/* new dsp owner port*/
	port_t		new_negotiation);/* new dsp negotiation port*/

/*
 * Exchange the current sndin owner port with a new one.  New for 2.0.
 */
kern_return_t snddriver_reset_sndin_owner (
	port_t		device_port,	/* valid device port*/
	port_t		old_owner_port,	/* old sndin owner port*/
	port_t		new_owner_port,	/* new sndin owner port*/
	port_t		new_negotiation);/* new sndin negotiation port*/

/*
 * Exchange the current sndout owner port with a new one.  New for 2.0.
 */
kern_return_t snddriver_reset_sndout_owner (
	port_t		device_port,	/* valid device port*/
	port_t		old_owner_port,	/* old sndout owner port*/
	port_t		new_owner_port,	/* new sndout owner port*/
	port_t		new_negotiation);/* new sndout negotiation port*/

/*
 * User-initiated dma transfer to dsp. See programming examples. (New in 2.0.)
 */
kern_return_t snddriver_dsp_dma_write (
	port_t		cmd_port,	/* valid dsp command port*/
	int		size,		/* # dsp words to transfer*/
	int		mode,		/* mode of dma [1..5]*/
	void		*data);		/* data to output*/

/*
 * User-initiated dma from dsp. See programming examples. (New in 2.0.)
 */
kern_return_t snddriver_dsp_dma_read (
	port_t		cmd_port,	/* valid dsp command port*/
	int		size,		/* .. of dsp buffer in words*/
	int		mode,		/* mode of dma [1..5]*/
	void		**data);	/* where data is put*/

/*
 * Set the size of the sound out buffers used by snddriver_stream_setup() when
 * it configures the stream.  The default is vm_page_size.
 * New in 2.0.
 */
kern_return_t snddriver_set_sndout_bufsize (
	port_t		dev_port,		/* valid device port*/
	port_t		owner_port,		/* valid owner port*/
	int		sobsize);		/* so buf size*/

/*
 * Set the number of sound out buffers used by snddriver_stream_setup() when
 * it configures the stream.  The default is 4.
 * New in 2.0.
 */
kern_return_t snddriver_set_sndout_bufcount (
	port_t		dev_port,		/* valid device port*/
	port_t		owner_port,		/* valid owner port*/
	int		sobcount);		/* so buf count*/

kern_return_t snddriver_stream_setup (
	port_t		dev_port,		/* valid device port*/
	port_t		owner_port,		/* valid owner port*/
	int		config,			/* stream configuration*/
	int		buf_size,		/* samples per buffer*/
	int		sample_size,		/* bytes per sample*/
	int		low_water,		/* low water mark*/
	int		high_water,		/* high water mark*/
	int		*protocol,		/* modified dsp protocol*/
	port_t		*stream_port);

kern_return_t snddriver_dsp_protocol (
	port_t		device_port,		/* valid device port*/
	port_t		owner_port,		/* port registered as owner*/
	int		protocol);

/*
 * Stream interaction functions
 */
kern_return_t snddriver_stream_start_reading (
	port_t		stream_port,		/* valid stream port*/
	char		*filename,		/*? backing store (or null) NYI*/
	int		data_size,		/* count of samples to read*/
	int		tag,			/* user data*/
	boolean_t	started_msg,		/* send message when started*/
	boolean_t	completed_msg,		/* send message when completed*/
	boolean_t	aborted_msg,		/* send message when aborted*/
	boolean_t	paused_msg,		/* send message when paused*/
	boolean_t	resumed_msg,		/* send message when resumed*/
	boolean_t	overflow_msg,		/* send message when overflowed*/
	port_t		reply_port);		/* port for above messages*/

kern_return_t snddriver_stream_start_writing (
	port_t		stream_port,		/* valid stream port*/
	void		*data,			/* pointer to samples */
	int		data_size,		/* count of samples to write*/
	int		tag,			/* user data*/
	boolean_t	preempt,		/* play preemptively*/
	boolean_t	deallocate,		/* deallocate data when sent*/
	boolean_t	started_msg,		/* send message when started*/
	boolean_t	completed_msg,		/* send message when completed*/
	boolean_t	aborted_msg,		/* send message when aborted*/
	boolean_t	paused_msg,		/* send message when paused*/
	boolean_t	resumed_msg,		/* send message when resumed*/
	boolean_t	overflow_msg,		/* send message when overflowed*/
	port_t		reply_port);

kern_return_t snddriver_stream_control (
	port_t		stream_port,		/* valid stream port*/
	int		tag,			/* tag to identify stream*/
	int		snd_control);

kern_return_t snddriver_stream_nsamples (
	port_t		stream_port,		/* valid stream port*/
	int		*nsamples);

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.