Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4358 Serge 1
/*
2
 * Copyright © 2011 Intel Corporation
3
 *
4
 * Permission is hereby granted, free of charge, to any person obtaining a
5
 * copy of this software and associated documentation files (the "Software"),
6
 * to deal in the Software without restriction, including without limitation
7
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8
 * and/or sell copies of the Software, and to permit persons to whom the
9
 * Software is furnished to do so, subject to the following conditions:
10
 *
11
 * The above copyright notice and this permission notice (including the next
12
 * paragraph) shall be included in all copies or substantial portions of the
13
 * Software.
14
 *
15
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
 * NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22
 * DEALINGS IN THE SOFTWARE.
23
 *
24
 * Authors:
25
 *    Benjamin Franzke 
26
 */
27
 
28
#include 
29
#include 
30
 
31
#include 
32
#include 
33
#include 
34
#include 
35
 
36
#include "common.h"
37
#include "gbmint.h"
38
 
39
GBM_EXPORT struct udev_device *
40
_gbm_udev_device_new_from_fd(struct udev *udev, int fd)
41
{
42
   struct udev_device *device;
43
   struct stat buf;
44
 
45
   if (fstat(fd, &buf) < 0) {
46
      fprintf(stderr, "gbm: failed to stat fd %d", fd);
47
      return NULL;
48
   }
49
 
50
   device = udev_device_new_from_devnum(udev, 'c', buf.st_rdev);
51
   if (device == NULL) {
52
      fprintf(stderr,
53
              "gbm: could not create udev device for fd %d", fd);
54
      return NULL;
55
   }
56
 
57
   return device;
58
}
59
 
60
GBM_EXPORT char *
61
_gbm_fd_get_device_name(int fd)
62
{
63
   struct udev *udev;
64
   struct udev_device *device;
65
   const char *const_device_name;
66
   char *device_name = NULL;
67
 
68
   udev = udev_new();
69
   device = _gbm_udev_device_new_from_fd(udev, fd);
70
   if (device == NULL)
71
      return NULL;
72
 
73
   const_device_name = udev_device_get_devnode(device);
74
   if (!const_device_name)
75
      goto out;
76
   device_name = strdup(const_device_name);
77
 
78
out:
79
   udev_device_unref(device);
80
   udev_unref(udev);
81
 
82
   return device_name;
83
}
84
 
85
GBM_EXPORT void
86
_gbm_log(const char *fmt_str, ...)
87
{
88
}