Ignore:
Timestamp:
2018-01-04T20:50:52Z (7 years ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Children:
e211ea04
Parents:
facacc71
git-author:
Jiří Zárevúcky <zarevucky.jiri@…> (2018-01-04 20:47:53)
git-committer:
Jiří Zárevúcky <zarevucky.jiri@…> (2018-01-04 20:50:52)
Message:

Use errno_t in all uspace and kernel code.

Change type of every variable, parameter and return value that holds an
<errno.h> constant to either errno_t (the usual case), or sys_errno_t
(some places in kernel). This is for the purpose of self-documentation,
as well as for type-checking with a bit of type definition hackery.

After this commit, HelenOS is free of code that mixes error codes with non-error
values on the assumption that error codes are negative.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/audio/hound/audio_device.c

    rfacacc71 r46577995  
    5151#define BUFFER_PARTS   16
    5252
    53 static int device_sink_connection_callback(audio_sink_t *sink, bool new);
    54 static int device_source_connection_callback(audio_source_t *source, bool new);
     53static errno_t device_sink_connection_callback(audio_sink_t *sink, bool new);
     54static errno_t device_source_connection_callback(audio_source_t *source, bool new);
    5555static void device_event_callback(ipc_callid_t iid, ipc_call_t *icall, void *arg);
    56 static int device_check_format(audio_sink_t* sink);
    57 static int get_buffer(audio_device_t *dev);
    58 static int release_buffer(audio_device_t *dev);
     56static errno_t device_check_format(audio_sink_t* sink);
     57static errno_t get_buffer(audio_device_t *dev);
     58static errno_t release_buffer(audio_device_t *dev);
    5959static void advance_buffer(audio_device_t *dev, size_t size);
    6060static inline bool is_running(audio_device_t *dev)
     
    7272 * @return Error code.
    7373 */
    74 int audio_device_init(audio_device_t *dev, service_id_t id, const char *name)
     74errno_t audio_device_init(audio_device_t *dev, service_id_t id, const char *name)
    7575{
    7676        assert(dev);
     
    122122        assert(dev);
    123123        sysarg_t val;
    124         int rc = audio_pcm_query_cap(dev->sess, AUDIO_CAP_CAPTURE, &val);
     124        errno_t rc = audio_pcm_query_cap(dev->sess, AUDIO_CAP_CAPTURE, &val);
    125125        if (rc == EOK && val)
    126126                return &dev->source;
     
    138138        assert(dev);
    139139        sysarg_t val;
    140         int rc = audio_pcm_query_cap(dev->sess, AUDIO_CAP_PLAYBACK, &val);
     140        errno_t rc = audio_pcm_query_cap(dev->sess, AUDIO_CAP_PLAYBACK, &val);
    141141        if (rc == EOK && val)
    142142                return &dev->sink;
     
    153153 * connections.
    154154 */
    155 static int device_sink_connection_callback(audio_sink_t* sink, bool new)
     155static errno_t device_sink_connection_callback(audio_sink_t* sink, bool new)
    156156{
    157157        assert(sink);
     
    160160                log_verbose("First connection on device sink '%s'", sink->name);
    161161
    162                 int ret = get_buffer(dev);
     162                errno_t ret = get_buffer(dev);
    163163                if (ret != EOK) {
    164164                        log_error("Failed to get device buffer: %s",
     
    196196                log_verbose("Removed last connection on device sink '%s'",
    197197                    sink->name);
    198                 int ret = audio_pcm_stop_playback(dev->sess);
     198                errno_t ret = audio_pcm_stop_playback(dev->sess);
    199199                if (ret != EOK) {
    200200                        log_error("Failed to stop playback: %s",
     
    215215 * connections.
    216216 */
    217 static int device_source_connection_callback(audio_source_t *source, bool new)
     217static errno_t device_source_connection_callback(audio_source_t *source, bool new)
    218218{
    219219        assert(source);
    220220        audio_device_t *dev = source->private_data;
    221221        if (new && list_count(&source->connections) == 1) {
    222                 int ret = get_buffer(dev);
     222                errno_t ret = get_buffer(dev);
    223223                if (ret != EOK) {
    224224                        log_error("Failed to get device buffer: %s",
     
    244244        if (list_count(&source->connections) == 0) { /* Disconnected */
    245245                assert(!new);
    246                 int ret = audio_pcm_stop_capture_immediate(dev->sess);
     246                errno_t ret = audio_pcm_stop_capture_immediate(dev->sess);
    247247                if (ret != EOK) {
    248248                        log_error("Failed to start recording: %s",
     
    289289                        log_verbose("Capture terminated");
    290290                        dev->source.format = AUDIO_FORMAT_ANY;
    291                         const int ret = release_buffer(dev);
     291                        const errno_t ret = release_buffer(dev);
    292292                        if (ret != EOK) {
    293293                                log_error("Failed to release buffer: %s",
     
    300300                        log_verbose("Playback Terminated");
    301301                        dev->sink.format = AUDIO_FORMAT_ANY;
    302                         const int ret = release_buffer(dev);
     302                        const errno_t ret = release_buffer(dev);
    303303                        if (ret != EOK) {
    304304                                log_error("Failed to release buffer: %s",
     
    309309                }
    310310                case PCM_EVENT_FRAMES_CAPTURED: {
    311                         const int ret = audio_source_push_data(&dev->source,
     311                        const errno_t ret = audio_source_push_data(&dev->source,
    312312                            dev->buffer.position, dev->buffer.fragment_size);
    313313                        advance_buffer(dev, dev->buffer.fragment_size);
     
    329329 * @return Error code.
    330330 */
    331 static int device_check_format(audio_sink_t* sink)
     331static errno_t device_check_format(audio_sink_t* sink)
    332332{
    333333        assert(sink);
     
    347347 * @return Error code.
    348348 */
    349 static int get_buffer(audio_device_t *dev)
     349static errno_t get_buffer(audio_device_t *dev)
    350350{
    351351        assert(dev);
     
    362362        size_t preferred_size = 0;
    363363
    364         const int ret = audio_pcm_get_buffer(dev->sess, &dev->buffer.base,
     364        const errno_t ret = audio_pcm_get_buffer(dev->sess, &dev->buffer.base,
    365365            &preferred_size);
    366366        if (ret == EOK) {
     
    378378 * @return Error code.
    379379 */
    380 static int release_buffer(audio_device_t *dev)
     380static errno_t release_buffer(audio_device_t *dev)
    381381{
    382382        assert(dev);
    383383        assert(dev->buffer.base);
    384384
    385         const int ret = audio_pcm_release_buffer(dev->sess);
     385        const errno_t ret = audio_pcm_release_buffer(dev->sess);
    386386        if (ret == EOK) {
    387387                as_area_destroy(dev->buffer.base);
Note: See TracChangeset for help on using the changeset viewer.