source: titan/minidlna-1.0.22/minidlnatypes.h @ 13567

Last change on this file since 13567 was 13567, checked in by obi, 11 years ago

[titan] add minidlna-1.0.22 first step

File size: 2.9 KB
Line 
1/* MiniUPnP project
2 * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
3 *
4 * Copyright (c) 2006-2007, Thomas Bernard
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:
9 *     * Redistributions of source code must retain the above copyright
10 *       notice, this list of conditions and the following disclaimer.
11 *     * Redistributions in binary form must reproduce the above copyright
12 *       notice, this list of conditions and the following disclaimer in the
13 *       documentation and/or other materials provided with the distribution.
14 *     * The name of the author may not be used to endorse or promote products
15 *       derived from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 * POSSIBILITY OF SUCH DAMAGE.
28 */
29#ifndef __MINIDLNATYPES_H__
30#define __MINIDLNATYPES_H__
31
32#include "config.h"
33#include <netinet/in.h>
34
35/* structure for storing lan addresses
36 * with ascii representation and mask */
37struct lan_addr_s {
38        char str[16];   /* example: 192.168.0.1 */
39        struct in_addr addr, mask;      /* ip/mask */
40};
41
42struct runtime_vars_s {
43        int port;       /* HTTP Port */
44        int notify_interval;    /* seconds between SSDP announces */
45        char *root_container;   /* root ObjectID (instead of "0") */
46};
47
48struct string_s {
49        char *data; // ptr to start of memory area
50        int off;
51        int size;
52};
53
54enum media_types {
55        ALL_MEDIA,
56        AUDIO_ONLY,
57        VIDEO_ONLY,
58        IMAGES_ONLY,
59        NO_MEDIA
60};
61
62enum file_types {
63        TYPE_UNKNOWN,
64        TYPE_DIR,
65        TYPE_FILE
66};
67
68enum client_types {
69        EXbox = 1,
70        EPS3,
71        ESamsungTV,
72        EDenonReceiver,
73        EFreeBox,
74        EPopcornHour,
75        EMediaRoom,
76        ESonyBDP,
77        ESonyBravia,
78        ERokuSoundBridge,
79        EToshibaTV,
80        ELGDevice,
81        ENetgearEVA2000,
82        ESamsungSeriesA,
83        ESamsungSeriesB,
84        EMarantzDMP,
85        EStandardDLNA150 = 100
86};
87
88struct media_dir_s {
89        char * path;            /* Base path */
90        enum media_types type;  /* type of files to scan */
91        struct media_dir_s * next;
92};
93
94struct album_art_name_s {
95        char * name;            /* Base path */
96        uint8_t wildcard;
97        struct album_art_name_s * next;
98};
99
100struct client_cache_s {
101        struct in_addr addr;
102        unsigned char mac[6];
103        enum client_types type;
104        uint32_t flags;
105        time_t age;
106};
107
108#endif
Note: See TracBrowser for help on using the repository browser.