* Some devices are effectively always open and have no error state,
* in which case this callback can be NULL. In this case @ref
* FIXED_FORMAT must be set. Note that @ref device_state still
- * switches between @ref device_open and @ref device_closd in this
+ * switches between @ref device_open and @ref device_closed in this
* case.
*/
void (*activate)(void);
*
* For sound devices that are open all the time and have no error
* state, this callback can be NULL. Note that @ref device_state
- * still switches between @ref device_open and @ref device_closd in
+ * still switches between @ref device_open and @ref device_closed in
* this case.
*/
void (*deactivate)(void);
extern struct track *tracks;
extern struct track *playing;
+extern const struct speaker_backend network_backend;
+extern const struct speaker_backend alsa_backend;
+extern const struct speaker_backend command_backend;
+
+extern struct pollfd fds[NFDS];
+extern int fdno;
+extern size_t device_bpf;
+extern int idled;
+
+int addfd(int fd, int events);
+int formats_equal(const ao_sample_format *a,
+ const ao_sample_format *b);
+void abandon(void);
+
#endif /* SPEAKER_H */
/*