Reduced the requested Symbian capabilities.
[platform/upstream/curl.git] / packages / Symbian / readme.txt
1 Curl on Symbian OS
2 ==================
3 This is a basic port of curl and libcurl to Symbian OS.  The port is
4 a straightforward one using Symbian's P.I.P.S. POSIX compatibility
5 layer. A more complete port would involve writing a Symbian C++ binding,
6 or wrapping libcurl as a Symbian application server with a C++ API to
7 handle requests from client applications and creating a GUI application
8 to allow file transfers.  The author has no current plans to do so.
9
10 This means that integration with standard Symbian OS programs can be
11 tricky, since libcurl isn't designed with Symbian's native asynchronous 
12 message passing idioms in mind. However, it may be possible to use libcurl
13 in an active object-based application through libcurl's multi interface.
14 The port is most easily used when porting POSIX applications to Symbian
15 OS using P.I.P.S.
16
17 libcurl is built as a standard Symbian ordinal-linked DLL, and curl is
18 built as a text mode EXE application.  They have not been Symbian
19 Signed, which is required in order to install them on most phones.
20
21 Following are some things to keep in mind when using this port.
22
23 curl notes
24 ----------
25 When starting curl in the Windows emulator from the Windows command-line,
26 place a double-dash -- before the first curl command-line option.
27 e.g. \epoc32\release\winscw\udeb\curl -- -v http://localhost/
28 Failure to do so may mean that some of your options won't be correctly
29 processed.
30
31 Symbian OS does not provide for redirecting the standard I/O streams, so
32 stdin always comes from the keyboard, stdout always goes to the
33 console, and stderr goes to the epocwind.out file (on the emulator).
34 The standard curl options -o, --stderr and --trace-ascii can be used to
35 redirect output to a file (or stdout) instead.
36
37 P.I.P.S. doesn't inherit the current working directory at startup, so you
38 may need to use the -o option to specify a specific location to store a
39 downloaded file.
40
41 P.I.P.S. provides no way to disable echoing of characters as they are
42 entered, so passwords typed in on the console will be visible.
43
44 All screen output disappears after curl exits, so after a transfer completes,
45 curl waits by default for Enter to pressed before exiting.  This behaviour
46 is suppressed when the -s option is given.
47
48 The "home directory" in Symbian is C:\Private\10206442\. The .curlrc is read
49 from this directory on startup.
50
51 libcurl notes
52 -------------
53 libcurl uses writeable static data, so the EPOCALLOWDLLDATA option is
54 used in its MMP file, with the corresponding additional memory usage
55 and limitations on the Windows emulator.
56
57 curl_global_init() *must* be called before any libcurl functions that could
58 allocate memory (like curl_getenv()).
59
60 P.I.P.S. doesn't support signals or the alarm() call, so some timeouts
61 (such as the connect timeout) are not honoured.
62
63 P.I.P.S. causes a USER:87 panic if a timeout much longer than half an hour
64 is selected. 
65
66 SSL/TLS encryption is not supported.
67
68
69 Dan Fandrich
70 dan@coneharvesters.com
71 April 2008