1/* MiniUPnP project 2 * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ 3 * (c) 2006-2007 Thomas Bernard 4 * This software is subject to the conditions detailed 5 * in the LICENCE file provided within the distribution */ 6#ifndef __MINIDLNATYPES_H__ 7#define __MINIDLNATYPES_H__ 8 9#include "config.h" 10#include <netinet/in.h> 11 12/* structure for storing lan addresses 13 * with ascii representation and mask */ 14struct lan_addr_s { 15 char str[16]; /* example: 192.168.0.1 */ 16 struct in_addr addr, mask; /* ip/mask */ 17}; 18 19struct runtime_vars_s { 20 int port; /* HTTP Port */ 21 int notify_interval; /* seconds between SSDP announces */ 22}; 23 24enum media_types { 25 ALL_MEDIA, 26 AUDIO_ONLY, 27 VIDEO_ONLY, 28 IMAGES_ONLY, 29 NO_MEDIA 30}; 31 32enum file_types { 33 TYPE_UNKNOWN, 34 TYPE_DIR, 35 TYPE_FILE 36}; 37 38enum client_types { 39 EXbox = 1, 40 EPS3, 41 ESamsungTV, 42 EDenonReceiver, 43 EFreeBox, 44 EPopcornHour, 45 EStandardDLNA150 = 100 46}; 47 48struct media_dir_s { 49 char * path; /* Base path */ 50 enum media_types type; /* type of files to scan */ 51 struct media_dir_s * next; 52}; 53 54struct album_art_name_s { 55 char * name; /* Base path */ 56 struct album_art_name_s * next; 57}; 58 59struct client_cache_s { 60 struct in_addr addr; 61 unsigned char mac[6]; 62 enum client_types type; 63 u_int32_t flags; 64 time_t age; 65}; 66 67#endif 68