pupnp (libupnp) snapshot from SourceForge: git clone git://pupnp.git.sourceforge...
[igd2-for-linux:pandonghui1211s-igd2-for-linux.git] / pupnp_branch-1.6.x / docs / dist / html / upnp / UpnpVirtualDirCallbacks.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2
3 <HTML>
4 <HEAD>
5    <TITLE>struct  UpnpVirtualDirCallbacks</TITLE>
6    <META NAME="GENERATOR" CONTENT="DOC++ 3.4.10">
7 </HEAD>
8 <BODY BGCOLOR="#ffffff">
9
10 <H2>struct  <A HREF="#DOC.DOCU">UpnpVirtualDirCallbacks</A></H2></H2><BLOCKQUOTE>The <B>UpnpVirtualDirCallbacks</B> structure contains the pointers to file-related callback functions a device application can register to virtualize URLs.</BLOCKQUOTE>
11
12 <HR>
13 <P><DL>
14  <DT>
15 <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.1.4.2.14.6">(*close)</A></B>( IN UpnpWebFileHandle fileHnd )
16 <DD><I>Called by the web server to close a file opened via the <B>open</B> callback.</I>
17 <DT>
18 <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.1.4.2.14.1">(*get_info)</A></B>( IN const char* filename,  OUT struct File_Info* info )
19 <DD><I>Called by the web server to query information on a file.</I>
20 <DT>
21 <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>UpnpWebFileHandle <B><A HREF="#DOC.1.4.2.14.2">(*open)</A></B>( IN const char* filename,  IN enum UpnpOpenFileMode Mode )
22 <DD><I>Called by the web server to open a file.</I>
23 <DT>
24 <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.1.4.2.14.3">(*read)</A></B>( IN UpnpWebFileHandle fileHnd,  OUT char* buf,  IN size_t buflen )
25 <DD><I>Called by the web server to perform a sequential read from an open file.</I>
26 <DT>
27 <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.1.4.2.14.5">(*seek)</A></B>( IN UpnpWebFileHandle fileHnd,  IN long offset,  IN int origin )
28 <DD><I>Called by the web server to move the file pointer, or offset, into an open file.</I>
29 <DT>
30 <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.1.4.2.14.4">(*write)</A></B>( IN UpnpWebFileHandle fileHnd,  IN char* buf,  IN size_t buflen )
31 <DD><I>Called by the web server to perform a sequential write to an open file.</I>
32 </DL></P>
33
34
35 <A NAME="DOC.DOCU"></A>
36 <HR>
37 <H2>Documentation</H2>
38 <BLOCKQUOTE>The <B>UpnpVirtualDirCallbacks</B> structure contains the pointers to
39 file-related callback functions a device application can register to
40 virtualize URLs.  </BLOCKQUOTE>
41 <DL>
42
43 <A NAME="(*get_info)"></A>
44 <A NAME="DOC.1.4.2.14.1"></A>
45 <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int (*get_info)( IN const char* filename,  OUT struct File_Info* info )</B></TT>
46 <DD>Called by the web server to query information on a file.  The callback
47 should return 0 on success or -1 on an error. 
48
49 <DL><DT><DT><B>Parameters:</B><DD><B>filename</B> -   The name of the file to query. 
50 <BR><B>info</B> -   Pointer to a structure to store the 
51 information on the file. <BR><DD></DL><P>
52 <A NAME="(*open)"></A>
53 <A NAME="DOC.1.4.2.14.2"></A>
54 <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>UpnpWebFileHandle (*open)( IN const char* filename,  IN enum UpnpOpenFileMode Mode )</B></TT>
55 <DD>Called by the web server to open a file.  The callback should return
56 a valid handle if the file can be opened.  Otherwise, it should return
57 <TT>NULL</TT> to signify an error. 
58
59 <DL><DT><DT><B>Parameters:</B><DD><B>filename</B> -   The name of the file to open. 
60 <BR><B>Mode</B> -   The mode in which to open the file. 
61 Valid values are <TT>UPNP_READ</TT> or 
62 <TT>UPNP_WRITE</TT>. <BR><DD></DL><P>
63 <A NAME="(*read)"></A>
64 <A NAME="DOC.1.4.2.14.3"></A>
65 <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int (*read)( IN UpnpWebFileHandle fileHnd,  OUT char* buf,  IN size_t buflen )</B></TT>
66 <DD>Called by the web server to perform a sequential read from an open
67 file.  The callback should copy <B>buflen</B> bytes from the file into
68 the buffer.
69
70 <DL><DT><DT><B>Parameters:</B><DD><B>fileHnd</B> -   The handle of the file to read. 
71 <BR><B>buf</B> -   The buffer in which to place the 
72 data. 
73 <BR><B>buflen</B> -   The size of the buffer (i.e. the 
74 number of bytes to read). <BR><DT><B>Returns:</B><DD>  [int] An integer representing one of the following:
75 <UL>
76 <LI> <TT>0</TT>:  The file contains no more data (EOF).
77 <LI> <TT>&gt;0</TT>: A successful read of the number of bytes in the 
78 return code.
79 <LI> <TT>&lt;0</TT>: An error occurred reading the file.
80 \end{itemzie}
81 <BR><DD></DL><P>
82 <A NAME="(*write)"></A>
83 <A NAME="DOC.1.4.2.14.4"></A>
84 <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int (*write)( IN UpnpWebFileHandle fileHnd,  IN char* buf,  IN size_t buflen )</B></TT>
85 <DD>Called by the web server to perform a sequential write to an open
86 file.  The callback should write <B>buflen</B> bytes into the file from
87 the buffer.  It should return the actual number of bytes written, 
88 which might be less than <B>buflen</B> in the case of a write error.
89
90 <DL><DT><DT><B>Parameters:</B><DD><B>fileHnd</B> -   The handle of the file to write. 
91 <BR><B>buf</B> -   The buffer with the bytes to write. 
92 <BR><B>buflen</B> -   The number of bytes to write. <BR><DD></DL><P>
93 <A NAME="(*seek)"></A>
94 <A NAME="DOC.1.4.2.14.5"></A>
95 <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int (*seek)( IN UpnpWebFileHandle fileHnd,  IN long offset,  IN int origin )</B></TT>
96 <DD>Called by the web server to move the file pointer, or offset, into
97 an open file.  The <B>origin</B> parameter determines where to start
98 moving the file pointer.  A value of <TT>SEEK_CUR</TT> moves the
99 file pointer relative to where it is.  The <B>offset</B> parameter can
100 be either positive (move forward) or negative (move backward).  
101 <TT>SEEK_END</TT> moves relative to the end of the file.  A positive 
102 <B>offset</B> extends the file.  A negative <B>offset</B> moves backward 
103 in the file.  Finally, <TT>SEEK_SET</TT> moves to an absolute position in 
104 the file. In this case, <B>offset</B> must be positive.  The callback 
105 should return 0 on a successful seek or a non-zero value on an error.
106
107 <DL><DT><DT><B>Parameters:</B><DD><B>fileHnd</B> -   The handle of the file to move the 
108 file pointer. 
109 <BR><B>offset</B> -   The number of bytes to move in the 
110 file.  Positive values move foward and 
111 negative values move backward.  Note 
112 that this must be positive if the 
113 <B>origin</B> is <TT>SEEK_SET</TT>. 
114 <BR><B>origin</B> -   The position to move relative to.  It 
115 can be <TT>SEEK_CUR</TT> to move relative 
116 to the current position, 
117 <TT>SEEK_END</TT> to move relative to 
118 the end of the file, or <TT>
119 SEEK_SET</TT> to specify an absolute 
120 offset. <BR><DD></DL><P>
121 <A NAME="(*close)"></A>
122 <A NAME="DOC.1.4.2.14.6"></A>
123 <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int (*close)( IN UpnpWebFileHandle fileHnd )</B></TT>
124 <DD>Called by the web server to close a file opened via the <B>open</B>
125 callback.  It should return 0 on success, or a non-zero value on an 
126 error.
127
128 <DL><DT><DT><B>Parameters:</B><DD><B>fileHnd</B> -   The handle of the file to close. <BR><DD></DL><P></DL>
129 <DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I></P><HR>
130 <BR>
131 This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
132 </BODY>
133 </HTML>