Changeset c9f0975 in mainline for uspace/app/tester/devs/devman2.c


Ignore:
Timestamp:
2011-06-01T10:04:32Z (13 years ago)
Author:
Matus Dekanek <smekideki@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
65c3794
Parents:
049a16f (diff), df29f24 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

merge with usb/development

File:
1 moved

Legend:

Unmodified
Added
Removed
  • uspace/app/tester/devs/devman2.c

    r049a16f rc9f0975  
    11/*
    2  * Copyright (c) 2009 Martin Decky
     2 * Copyright (c) 2011 Vojtech Horky
    33 * All rights reserved.
    44 *
     
    2727 */
    2828
    29 #include <test.h>
     29/** @addtogroup tester
     30 * @brief Test devman service.
     31 * @{
     32 */
     33/**
     34 * @file
     35 */
    3036
    31 const char *test_sse1(void)
     37#include <inttypes.h>
     38#include <errno.h>
     39#include <str_error.h>
     40#include <sys/types.h>
     41#include <async.h>
     42#include <devman.h>
     43#include <str.h>
     44#include <vfs/vfs.h>
     45#include <sys/stat.h>
     46#include <fcntl.h>
     47#include "../tester.h"
     48
     49#define DEVICE_CLASS "test3"
     50
     51const char *test_devman2(void)
    3252{
    33         return NULL;
     53        size_t idx = 1;
     54        int rc = EOK;
     55        const char *err_msg = NULL;
     56        char *path = NULL;
     57        while (rc == EOK) {
     58                rc = asprintf(&path, "/dev/class/%s\\%zu", DEVICE_CLASS, idx);
     59                if (rc < 0) {
     60                        continue;
     61                }
     62                int fd = open(path, O_RDONLY);
     63                if (fd < 0) {
     64                        TPRINTF("Failed opening `%s': %s.\n",
     65                            path, str_error(fd));
     66                        rc = fd;
     67                        err_msg = "Failed opening file";
     68                        continue;
     69                }
     70                int phone = fd_phone(fd);
     71                close(fd);
     72                if (phone < 0) {
     73                        TPRINTF("Failed opening phone: %s.\n", str_error(phone));
     74                        rc = phone;
     75                        err_msg = "Failed opening file descriptor phone";
     76                        continue;
     77                }
     78                async_hangup(phone);
     79                TPRINTF("Path `%s' okay.\n", path);
     80                free(path);
     81                idx++;
     82                rc = EOK;
     83        }
     84       
     85        if (path != NULL) {
     86                free(path);
     87        }
     88
     89        return err_msg;
    3490}
     91
     92/** @}
     93 */
Note: See TracChangeset for help on using the changeset viewer.