UPnPsdk 0.1
Universal Plug and Play +, Software Development Kit
 
Loading...
Searching...
No Matches
UpnpFileInfo.hpp
Go to the documentation of this file.
1#ifndef COMPA_UPNPFILEINFO_HPP
2#define COMPA_UPNPFILEINFO_HPP
3// Copyright (C) 2022+ GPL 3 and higher by Ingo Höft, <Ingo@Hoeft-online.de>
4// Redistribution only with this Copyright remark. Last modified: 2025-06-12
5// Also Copyright by other contributor as noted below.
6// Last compare with ./Pupnp source file on 2025-05-23, ver 1.14.20
13#include <UpnpString.hpp>
14#include <ixml/ixml.hpp>
15#include <list.hpp>
16#include <UPnPsdk/port_sock.hpp>
17
19#ifdef _WIN32
20#include <sys/types.h> // needed for off_t
21#endif // _WIN32
23
27// The typedef must be the same as in pupnp otherwise we cannot switch between
28// pupnp utest and compa utest. Using the typedef in the header file but the
29// definiton of the structure in the source file make the mmembers of the
30// structure publicy invisible. That is intended but we will change it with
31// using C++ private. --Ingo
33
34#ifdef __cplusplus
35extern "C" {
36#endif /* __cplusplus */
37
39PUPNP_Api UpnpFileInfo* UpnpFileInfo_new(void);
41PUPNP_Api void UpnpFileInfo_delete(UpnpFileInfo* p);
43PUPNP_Api UpnpFileInfo* UpnpFileInfo_dup(const UpnpFileInfo* p);
45PUPNP_Api int UpnpFileInfo_assign(UpnpFileInfo* p, const UpnpFileInfo* q);
46
48PUPNP_Api off_t UpnpFileInfo_get_FileLength(const UpnpFileInfo* p);
50PUPNP_Api int UpnpFileInfo_set_FileLength(UpnpFileInfo* p, off_t n);
51
53PUPNP_Api time_t UpnpFileInfo_get_LastModified(const UpnpFileInfo* p);
55PUPNP_Api int UpnpFileInfo_set_LastModified(UpnpFileInfo* p, time_t n);
56
58PUPNP_Api int UpnpFileInfo_get_IsDirectory(const UpnpFileInfo* p);
60PUPNP_Api int UpnpFileInfo_set_IsDirectory(UpnpFileInfo* p, int n);
61
63PUPNP_Api int UpnpFileInfo_get_IsReadable(const UpnpFileInfo* p);
65PUPNP_Api int UpnpFileInfo_set_IsReadable(UpnpFileInfo* p, int n);
66
70PUPNP_Api int UpnpFileInfo_set_ContentType(UpnpFileInfo* p, const DOMString s);
72PUPNP_Api const char* UpnpFileInfo_get_ContentType_cstr(const UpnpFileInfo* p);
73
75PUPNP_Api const UpnpListHead*
79 const UpnpListHead* q);
82 UpnpListHead* head);
83
85PUPNP_Api const struct sockaddr_storage*
89 const struct sockaddr_storage* buf);
92
94PUPNP_Api const UpnpString* UpnpFileInfo_get_Os(const UpnpFileInfo* p);
96PUPNP_Api int UpnpFileInfo_set_Os(UpnpFileInfo* p, const UpnpString* s);
98PUPNP_Api size_t UpnpFileInfo_get_Os_Length(const UpnpFileInfo* p);
100PUPNP_Api const char* UpnpFileInfo_get_Os_cstr(const UpnpFileInfo* p);
102PUPNP_Api int UpnpFileInfo_strcpy_Os(UpnpFileInfo* p, const char* s);
104PUPNP_Api int UpnpFileInfo_strncpy_Os(UpnpFileInfo* p, const char* s, size_t n);
106PUPNP_Api void UpnpFileInfo_clear_Os(UpnpFileInfo* p);
107
108#ifdef __cplusplus
109}
110#endif /* __cplusplus */
111
112#endif /* COMPA_UPNPFILEINFO_HPP */
s_UpnpFileInfo
PUPNP_Api UpnpFileInfo * UpnpFileInfo_dup(const UpnpFileInfo *p)
PUPNP_Api int UpnpFileInfo_set_LastModified(UpnpFileInfo *p, time_t n)
PUPNP_Api const UpnpString * UpnpFileInfo_get_Os(const UpnpFileInfo *p)
PUPNP_Api int UpnpFileInfo_set_CtrlPtIPAddr(UpnpFileInfo *p, const struct sockaddr_storage *buf)
PUPNP_Api time_t UpnpFileInfo_get_LastModified(const UpnpFileInfo *p)
PUPNP_Api int UpnpFileInfo_strcpy_Os(UpnpFileInfo *p, const char *s)
PUPNP_Api int UpnpFileInfo_set_ExtraHeadersList(UpnpFileInfo *p, const UpnpListHead *q)
PUPNP_Api size_t UpnpFileInfo_get_Os_Length(const UpnpFileInfo *p)
PUPNP_Api const DOMString UpnpFileInfo_get_ContentType(const UpnpFileInfo *p)
PUPNP_Api void UpnpFileInfo_add_to_list_ExtraHeadersList(UpnpFileInfo *p, UpnpListHead *head)
PUPNP_Api int UpnpFileInfo_set_Os(UpnpFileInfo *p, const UpnpString *s)
PUPNP_Api int UpnpFileInfo_set_FileLength(UpnpFileInfo *p, off_t n)
PUPNP_Api off_t UpnpFileInfo_get_FileLength(const UpnpFileInfo *p)
PUPNP_Api int UpnpFileInfo_set_ContentType(UpnpFileInfo *p, const DOMString s)
PUPNP_Api const char * UpnpFileInfo_get_ContentType_cstr(const UpnpFileInfo *p)
PUPNP_Api const char * UpnpFileInfo_get_Os_cstr(const UpnpFileInfo *p)
PUPNP_Api const UpnpListHead * UpnpFileInfo_get_ExtraHeadersList(const UpnpFileInfo *p)
PUPNP_Api int UpnpFileInfo_strncpy_Os(UpnpFileInfo *p, const char *s, size_t n)
PUPNP_Api int UpnpFileInfo_get_IsReadable(const UpnpFileInfo *p)
PUPNP_Api int UpnpFileInfo_set_IsReadable(UpnpFileInfo *p, int n)
PUPNP_Api const struct sockaddr_storage * UpnpFileInfo_get_CtrlPtIPAddr(const UpnpFileInfo *p)
PUPNP_Api void UpnpFileInfo_delete(UpnpFileInfo *p)
PUPNP_Api int UpnpFileInfo_set_IsDirectory(UpnpFileInfo *p, int n)
PUPNP_Api int UpnpFileInfo_assign(UpnpFileInfo *p, const UpnpFileInfo *q)
PUPNP_Api int UpnpFileInfo_get_IsDirectory(const UpnpFileInfo *p)
PUPNP_Api void UpnpFileInfo_clear_Os(UpnpFileInfo *p)
PUPNP_Api void UpnpFileInfo_clear_CtrlPtIPAddr(UpnpFileInfo *p)
PUPNP_Api UpnpFileInfo * UpnpFileInfo_new(void)
UpnpString object declaration.
Internal implementation of the class UpnpString.
#define DOMString
The type of DOM strings.
Definition ixml.hpp:47
Trivial list management interface, patterned on std::list.
List anchor structure.
Definition list.hpp:56
Specifications to be portable with sockets between different platforms.