AGetTransStatus(3X)
NAME
AGetTransStatus − get status of specified transaction
SYNOPSIS
#include <Alib.h> void
AGetTransStatus (
Audio ∗ audio,
ATransID xid,
ATransStatus ∗ trans_status_return,
long ∗ status_return );
DESCRIPTION
AGetTransStatus() gets the status of the transaction specified in xid.
audio specifies the Audio structure associated with this connection.
xid specifies the ID of the transaction.
trans_status_return receives the transaction status value.
status_return receives the returned status of the operation, unless this parameter is passed in as a NULL pointer. If status_return is set to NULL, Alib will do the error handling. If set to NULL, the transaction status is returned as an AETTransStatus event, which can be read by ANextEvent(), ACheckEvent(), or ACheckMaskEvent().
STRUCTURES
The following are defined in /opt/audio/include/Alib.h:
typedef long ATransID; /* Type for transaction ID. */
/* Enumerated type for transaction state. */
typedef enum _ATransState {
ATSUnknownTransID,
ATSPlaying,
ATSRecording,
ATSLooping,
ATSPaused,
ATSStopped,
ATSLoopStopped,
ATSPending
} ATransState;
/* Enumerated type and structure for time specification.
*/
typedef enum _ATimeType {
ATTSamples,
ATTMilliSeconds,
ATTFullLength
} ATimeType;
typedef struct _ATime {
ATimeType type;
union {
unsigned long samples;
unsigned long milliseconds;
} u;
} ATime;
/* Structure for transaction status. */
typedef struct _ATransStatus {
ATransState state; /* State of transaction when audio
server returned the information. */
ATime time; /* Number of milliseconds or samples
from the beginning of the audio
data when the audio server
returned the information. */
} ATransStatus;
ERRORS
If status_return is not set to NULL, it can return one of the following values:
0 AENoError No error - the call completed successfully.
2 AEBadAudio The audio structure is invalid. A pointer to a valid audio structure may be missing (use AOpenAudio() to get a valid pointer).
15 AEBadTransactionID The xid parameter does not identify a valid transaction ID.
EXAMPLE
The following example gets the status for the xid transaction and sets up trans_stat to receive the transaction status and status to receive an error status.
Audio ∗ audio; /∗ audio connection ∗/
ATransStatus trans_stat; /∗ transaction status return ∗/
long status; /∗ error status ∗/
.
.
.
/∗ get status for xid returned from prior call ∗/
AGetTransStatus(audio, xid, &trans_stat, &status);
NOTE
In order to ensure that the compiler finds the Audio Library (libAlib.sl) and the Alib.h header file, you must add the following switches:
-L /opt/audio/lib
-I/opt/audio/include
DEPENDENCIES
This function belongs to the Audio Library of functions that manage connections to an audio server. The audio server must run on a system that has audio hardware. To find out whether or not your system has audio hardware, refer to Using the Audio Developer’s Kit or the online help for the Audio control panel. For information about the audio capabilities of a particular system use the online example audioinfo.c.
AUTHOR
AGetTransStatus() was developed by HP.
SEE ALSO
Hewlett-Packard Company — Audio Library: February, 1995