1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
3
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
4
<title>Low-Level Control Of Database Files</title>
5
<style type="text/css">
8
font-family: Verdana, sans-serif;
13
a:visited { color: #734559 }
15
.logo { position:absolute; margin:3px; }
31
.toolbar a { color: white; text-decoration: none; padding: 6px 12px; }
32
.toolbar a:visited { color: white; }
33
.toolbar a:hover { color: #044a64; background: white; }
35
.content { margin: 5%; }
36
.content dt { font-weight:bold; }
37
.content dd { margin-bottom: 25px; margin-left:20%; }
38
.content ul { padding:0px; padding-left: 15px; margin:0px; }
41
.se { background: url(../images/se.gif) 100% 100% no-repeat #044a64}
42
.sw { background: url(../images/sw.gif) 0% 100% no-repeat }
43
.ne { background: url(../images/ne.gif) 100% 0% no-repeat }
44
.nw { background: url(../images/nw.gif) 0% 0% no-repeat }
46
/* Things for "fancyformat" documents start here. */
47
.fancy img+p {font-style:italic}
48
.fancy .codeblock i { color: darkblue; }
49
.fancy h1,.fancy h2,.fancy h3,.fancy h4 {font-weight:normal;color:#044a64}
50
.fancy h2 { margin-left: 10px }
51
.fancy h3 { margin-left: 20px }
52
.fancy h4 { margin-left: 30px }
53
.fancy th {white-space:nowrap;text-align:left;border-bottom:solid 1px #444}
54
.fancy th, .fancy td {padding: 0.2em 1ex; vertical-align:top}
55
.fancy #toc a { color: darkblue ; text-decoration: none }
56
.fancy .todo { color: #AA3333 ; font-style : italic }
57
.fancy .todo:before { content: 'TODO:' }
58
.fancy p.todo { border: solid #AA3333 1px; padding: 1ex }
59
.fancy img { display:block; }
60
.fancy :link:hover, .fancy :visited:hover { background: wheat }
61
.fancy p,.fancy ul,.fancy ol { margin: 1em 5ex }
62
.fancy li p { margin: 1em 0 }
63
/* End of "fancyformat" specific rules. */
69
<div><!-- container div to satisfy validator -->
71
<a href="../index.html">
72
<img class="logo" src="../images/sqlite370_banner.gif" alt="SQLite Logo"
74
<div><!-- IE hack to prevent disappearing logo--></div>
75
<div class="tagline">Small. Fast. Reliable.<br>Choose any three.</div>
77
<table width=100% style="clear:both"><tr><td>
78
<div class="se"><div class="sw"><div class="ne"><div class="nw">
79
<table width=100% style="padding:0;margin:0;cell-spacing:0"><tr>
82
<a href="../about.html">About</a>
83
<a href="../sitemap.html">Sitemap</a>
84
<a href="../docs.html">Documentation</a>
85
<a href="../download.html">Download</a>
86
<a href="../copyright.html">License</a>
87
<a href="../news.html">News</a>
88
<a href="../support.html">Support</a>
91
gMsg = "Search SQLite Docs..."
92
function entersearch() {
93
var q = document.getElementById("q");
94
if( q.value == gMsg ) { q.value = "" }
95
q.style.color = "black"
96
q.style.fontStyle = "normal"
98
function leavesearch() {
99
var q = document.getElementById("q");
100
if( q.value == "" ) {
102
q.style.color = "#044a64"
103
q.style.fontStyle = "italic"
108
<div style="padding:0 1em 0px 0;white-space:nowrap">
109
<form name=f method="GET" action="http://www.sqlite.org/search">
110
<input id=q name=q type=text
111
onfocus="entersearch()" onblur="leavesearch()" style="width:24ex;padding:1px 1ex; border:solid white 1px; font-size:0.9em ; font-style:italic;color:#044a64;" value="Search SQLite Docs...">
112
<input type=submit value="Go" style="border:solid white 1px;background-color:#044a64;color:white;font-size:0.9em;padding:0 1ex">
116
</div></div></div></div>
118
<div class=startsearch></div>
120
<a href="intro.html"><h2>SQLite C Interface</h2></a><h2>Low-Level Control Of Database Files</h2><blockquote><pre>int sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*);
121
</pre></blockquote><p>
122
The <a href="../c3ref/file_control.html">sqlite3_file_control()</a> interface makes a direct call to the
123
xFileControl method for the <a href="../c3ref/io_methods.html">sqlite3_io_methods</a> object associated
124
with a particular database identified by the second argument. The
125
name of the database is "main" for the main database or "temp" for the
126
TEMP database, or the name that appears after the AS keyword for
127
databases that are added using the <a href="../lang_attach.html">ATTACH</a> SQL command.
128
A NULL pointer can be used in place of "main" to refer to the
130
The third and fourth parameters to this routine
131
are passed directly through to the second and third parameters of
132
the xFileControl method. The return value of the xFileControl
133
method becomes the return value of this routine.</p>
135
<p>The SQLITE_FCNTL_FILE_POINTER value for the op parameter causes
136
a pointer to the underlying <a href="../c3ref/file.html">sqlite3_file</a> object to be written into
137
the space pointed to by the 4th parameter. The SQLITE_FCNTL_FILE_POINTER
138
case is a short-circuit path which does not actually invoke the
139
underlying sqlite3_io_methods.xFileControl method.</p>
141
<p>If the second parameter (zDbName) does not match the name of any
142
open database file, then SQLITE_ERROR is returned. This error
143
code is not remembered and will not be recalled by <a href="../c3ref/errcode.html">sqlite3_errcode()</a>
144
or <a href="../c3ref/errcode.html">sqlite3_errmsg()</a>. The underlying xFileControl method might
145
also return SQLITE_ERROR. There is no way to distinguish between
146
an incorrect zDbName and an SQLITE_ERROR return from the underlying
147
xFileControl method.</p>
149
<p>See also: <a href="../c3ref/c_fcntl_chunk_size.html">SQLITE_FCNTL_LOCKSTATE</a>
150
</p><p>See also lists of
151
<a href="objlist.html">Objects</a>,
152
<a href="constlist.html">Constants</a>, and
153
<a href="funclist.html">Functions</a>.</p>