1*5e7646d2SAndroid Build Coastguard Worker<!DOCTYPE html> 2*5e7646d2SAndroid Build Coastguard Worker<html> 3*5e7646d2SAndroid Build Coastguard Worker<!-- SECTION: Programming --> 4*5e7646d2SAndroid Build Coastguard Worker <head> 5*5e7646d2SAndroid Build Coastguard Worker <title>Administration APIs</title> 6*5e7646d2SAndroid Build Coastguard Worker <meta name="keywords" content="Programming"> 7*5e7646d2SAndroid Build Coastguard Worker <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 8*5e7646d2SAndroid Build Coastguard Worker <meta name="creator" content="codedoc v3.1"> 9*5e7646d2SAndroid Build Coastguard Worker <meta name="author" content="Unknown"> 10*5e7646d2SAndroid Build Coastguard Worker <meta name="copyright" content="Unknown"> 11*5e7646d2SAndroid Build Coastguard Worker <meta name="version" content="0.0"> 12*5e7646d2SAndroid Build Coastguard Worker <style type="text/css"><!-- 13*5e7646d2SAndroid Build Coastguard WorkerBODY { 14*5e7646d2SAndroid Build Coastguard Worker font-family: lucida grande, geneva, helvetica, arial, sans-serif; 15*5e7646d2SAndroid Build Coastguard Worker} 16*5e7646d2SAndroid Build Coastguard Worker 17*5e7646d2SAndroid Build Coastguard WorkerH1, H2, H3, H4, H5, H6, P, TD, TH { 18*5e7646d2SAndroid Build Coastguard Worker font-family: lucida grande, geneva, helvetica, arial, sans-serif; 19*5e7646d2SAndroid Build Coastguard Worker} 20*5e7646d2SAndroid Build Coastguard Worker 21*5e7646d2SAndroid Build Coastguard WorkerH1 { font-size: 2em; } 22*5e7646d2SAndroid Build Coastguard WorkerH2 { font-size: 1.75em; } 23*5e7646d2SAndroid Build Coastguard WorkerH3 { font-size: 1.5em; } 24*5e7646d2SAndroid Build Coastguard WorkerH4 { font-size: 1.25em; } 25*5e7646d2SAndroid Build Coastguard Worker 26*5e7646d2SAndroid Build Coastguard WorkerKBD { 27*5e7646d2SAndroid Build Coastguard Worker font-family: monaco, courier, monospace; 28*5e7646d2SAndroid Build Coastguard Worker font-weight: bold; 29*5e7646d2SAndroid Build Coastguard Worker} 30*5e7646d2SAndroid Build Coastguard Worker 31*5e7646d2SAndroid Build Coastguard WorkerPRE { 32*5e7646d2SAndroid Build Coastguard Worker font-family: monaco, courier, monospace; 33*5e7646d2SAndroid Build Coastguard Worker} 34*5e7646d2SAndroid Build Coastguard Worker 35*5e7646d2SAndroid Build Coastguard WorkerBLOCKQUOTE { 36*5e7646d2SAndroid Build Coastguard Worker border-left: solid 2px #777; 37*5e7646d2SAndroid Build Coastguard Worker margin: 1em 0; 38*5e7646d2SAndroid Build Coastguard Worker padding: 10px; 39*5e7646d2SAndroid Build Coastguard Worker} 40*5e7646d2SAndroid Build Coastguard Worker 41*5e7646d2SAndroid Build Coastguard WorkerBLOCKQUOTE OL LI { 42*5e7646d2SAndroid Build Coastguard Worker margin-left: -1em; 43*5e7646d2SAndroid Build Coastguard Worker} 44*5e7646d2SAndroid Build Coastguard Worker 45*5e7646d2SAndroid Build Coastguard WorkerPRE.command, PRE.example { 46*5e7646d2SAndroid Build Coastguard Worker background: #eee; 47*5e7646d2SAndroid Build Coastguard Worker margin: 0 36pt; 48*5e7646d2SAndroid Build Coastguard Worker padding: 10px; 49*5e7646d2SAndroid Build Coastguard Worker} 50*5e7646d2SAndroid Build Coastguard Worker 51*5e7646d2SAndroid Build Coastguard WorkerP.compact { 52*5e7646d2SAndroid Build Coastguard Worker margin: 0; 53*5e7646d2SAndroid Build Coastguard Worker} 54*5e7646d2SAndroid Build Coastguard Worker 55*5e7646d2SAndroid Build Coastguard WorkerP.example { 56*5e7646d2SAndroid Build Coastguard Worker font-style: italic; 57*5e7646d2SAndroid Build Coastguard Worker margin-left: 36pt; 58*5e7646d2SAndroid Build Coastguard Worker} 59*5e7646d2SAndroid Build Coastguard Worker 60*5e7646d2SAndroid Build Coastguard WorkerDL.man DD { 61*5e7646d2SAndroid Build Coastguard Worker margin-left: 5em; 62*5e7646d2SAndroid Build Coastguard Worker} 63*5e7646d2SAndroid Build Coastguard Worker 64*5e7646d2SAndroid Build Coastguard WorkerDL.man DT { 65*5e7646d2SAndroid Build Coastguard Worker margin-left: 0; 66*5e7646d2SAndroid Build Coastguard Worker} 67*5e7646d2SAndroid Build Coastguard Worker 68*5e7646d2SAndroid Build Coastguard WorkerPRE.man { 69*5e7646d2SAndroid Build Coastguard Worker margin: 0; 70*5e7646d2SAndroid Build Coastguard Worker} 71*5e7646d2SAndroid Build Coastguard Worker 72*5e7646d2SAndroid Build Coastguard WorkerPRE.command EM, PRE.example EM { 73*5e7646d2SAndroid Build Coastguard Worker font-family: lucida grande, geneva, helvetica, arial, sans-serif; 74*5e7646d2SAndroid Build Coastguard Worker} 75*5e7646d2SAndroid Build Coastguard Worker 76*5e7646d2SAndroid Build Coastguard WorkerP.command { 77*5e7646d2SAndroid Build Coastguard Worker font-family: monaco, courier, monospace; 78*5e7646d2SAndroid Build Coastguard Worker margin-left: 36pt; 79*5e7646d2SAndroid Build Coastguard Worker} 80*5e7646d2SAndroid Build Coastguard Worker 81*5e7646d2SAndroid Build Coastguard WorkerP.formula { 82*5e7646d2SAndroid Build Coastguard Worker font-style: italic; 83*5e7646d2SAndroid Build Coastguard Worker margin-left: 36pt; 84*5e7646d2SAndroid Build Coastguard Worker} 85*5e7646d2SAndroid Build Coastguard Worker 86*5e7646d2SAndroid Build Coastguard WorkerA IMG { 87*5e7646d2SAndroid Build Coastguard Worker border: none; 88*5e7646d2SAndroid Build Coastguard Worker} 89*5e7646d2SAndroid Build Coastguard Worker 90*5e7646d2SAndroid Build Coastguard WorkerA:link:hover IMG { 91*5e7646d2SAndroid Build Coastguard Worker background: #f0f0f0; 92*5e7646d2SAndroid Build Coastguard Worker border-radius: 10px; 93*5e7646d2SAndroid Build Coastguard Worker -moz-border-radius: 10px; 94*5e7646d2SAndroid Build Coastguard Worker} 95*5e7646d2SAndroid Build Coastguard Worker 96*5e7646d2SAndroid Build Coastguard WorkerA:link, A:visited { 97*5e7646d2SAndroid Build Coastguard Worker font-weight: inherit; 98*5e7646d2SAndroid Build Coastguard Worker text-decoration: none; 99*5e7646d2SAndroid Build Coastguard Worker} 100*5e7646d2SAndroid Build Coastguard Worker 101*5e7646d2SAndroid Build Coastguard WorkerA:link:hover, A:visited:hover, A:active { 102*5e7646d2SAndroid Build Coastguard Worker text-decoration: underline; 103*5e7646d2SAndroid Build Coastguard Worker} 104*5e7646d2SAndroid Build Coastguard Worker 105*5e7646d2SAndroid Build Coastguard WorkerSUB, SUP { 106*5e7646d2SAndroid Build Coastguard Worker font-size: 50%; 107*5e7646d2SAndroid Build Coastguard Worker} 108*5e7646d2SAndroid Build Coastguard Worker 109*5e7646d2SAndroid Build Coastguard WorkerTR.data, TD.data, TR.data TD { 110*5e7646d2SAndroid Build Coastguard Worker margin-top: 10pt; 111*5e7646d2SAndroid Build Coastguard Worker padding: 5pt; 112*5e7646d2SAndroid Build Coastguard Worker border-bottom: solid 1pt #999999; 113*5e7646d2SAndroid Build Coastguard Worker} 114*5e7646d2SAndroid Build Coastguard Worker 115*5e7646d2SAndroid Build Coastguard WorkerTR.data TH { 116*5e7646d2SAndroid Build Coastguard Worker border-bottom: solid 1pt #999999; 117*5e7646d2SAndroid Build Coastguard Worker padding-top: 10pt; 118*5e7646d2SAndroid Build Coastguard Worker padding-left: 5pt; 119*5e7646d2SAndroid Build Coastguard Worker text-align: left; 120*5e7646d2SAndroid Build Coastguard Worker} 121*5e7646d2SAndroid Build Coastguard Worker 122*5e7646d2SAndroid Build Coastguard WorkerDIV.table TABLE { 123*5e7646d2SAndroid Build Coastguard Worker border: solid thin #999999; 124*5e7646d2SAndroid Build Coastguard Worker border-collapse: collapse; 125*5e7646d2SAndroid Build Coastguard Worker border-spacing: 0; 126*5e7646d2SAndroid Build Coastguard Worker margin-left: auto; 127*5e7646d2SAndroid Build Coastguard Worker margin-right: auto; 128*5e7646d2SAndroid Build Coastguard Worker} 129*5e7646d2SAndroid Build Coastguard Worker 130*5e7646d2SAndroid Build Coastguard WorkerDIV.table CAPTION { 131*5e7646d2SAndroid Build Coastguard Worker caption-side: top; 132*5e7646d2SAndroid Build Coastguard Worker font-size: 120%; 133*5e7646d2SAndroid Build Coastguard Worker font-style: italic; 134*5e7646d2SAndroid Build Coastguard Worker font-weight: bold; 135*5e7646d2SAndroid Build Coastguard Worker margin-left: auto; 136*5e7646d2SAndroid Build Coastguard Worker margin-right: auto; 137*5e7646d2SAndroid Build Coastguard Worker} 138*5e7646d2SAndroid Build Coastguard Worker 139*5e7646d2SAndroid Build Coastguard WorkerDIV.table TABLE TD { 140*5e7646d2SAndroid Build Coastguard Worker border: solid thin #cccccc; 141*5e7646d2SAndroid Build Coastguard Worker padding: 5pt 10pt 0; 142*5e7646d2SAndroid Build Coastguard Worker} 143*5e7646d2SAndroid Build Coastguard Worker 144*5e7646d2SAndroid Build Coastguard WorkerDIV.table TABLE TH { 145*5e7646d2SAndroid Build Coastguard Worker background: #cccccc; 146*5e7646d2SAndroid Build Coastguard Worker border: none; 147*5e7646d2SAndroid Build Coastguard Worker border-bottom: solid thin #999999; 148*5e7646d2SAndroid Build Coastguard Worker} 149*5e7646d2SAndroid Build Coastguard Worker 150*5e7646d2SAndroid Build Coastguard WorkerDIV.figure TABLE { 151*5e7646d2SAndroid Build Coastguard Worker margin-left: auto; 152*5e7646d2SAndroid Build Coastguard Worker margin-right: auto; 153*5e7646d2SAndroid Build Coastguard Worker} 154*5e7646d2SAndroid Build Coastguard Worker 155*5e7646d2SAndroid Build Coastguard WorkerDIV.figure CAPTION { 156*5e7646d2SAndroid Build Coastguard Worker caption-side: bottom; 157*5e7646d2SAndroid Build Coastguard Worker font-size: 120%; 158*5e7646d2SAndroid Build Coastguard Worker font-style: italic; 159*5e7646d2SAndroid Build Coastguard Worker font-weight: bold; 160*5e7646d2SAndroid Build Coastguard Worker margin-left: auto; 161*5e7646d2SAndroid Build Coastguard Worker margin-right: auto; 162*5e7646d2SAndroid Build Coastguard Worker} 163*5e7646d2SAndroid Build Coastguard Worker 164*5e7646d2SAndroid Build Coastguard WorkerTH.label { 165*5e7646d2SAndroid Build Coastguard Worker text-align: right; 166*5e7646d2SAndroid Build Coastguard Worker vertical-align: top; 167*5e7646d2SAndroid Build Coastguard Worker} 168*5e7646d2SAndroid Build Coastguard Worker 169*5e7646d2SAndroid Build Coastguard WorkerTH.sublabel { 170*5e7646d2SAndroid Build Coastguard Worker text-align: right; 171*5e7646d2SAndroid Build Coastguard Worker font-weight: normal; 172*5e7646d2SAndroid Build Coastguard Worker} 173*5e7646d2SAndroid Build Coastguard Worker 174*5e7646d2SAndroid Build Coastguard WorkerHR { 175*5e7646d2SAndroid Build Coastguard Worker border: solid thin; 176*5e7646d2SAndroid Build Coastguard Worker} 177*5e7646d2SAndroid Build Coastguard Worker 178*5e7646d2SAndroid Build Coastguard WorkerSPAN.info { 179*5e7646d2SAndroid Build Coastguard Worker background: black; 180*5e7646d2SAndroid Build Coastguard Worker border: thin solid black; 181*5e7646d2SAndroid Build Coastguard Worker color: white; 182*5e7646d2SAndroid Build Coastguard Worker font-size: 80%; 183*5e7646d2SAndroid Build Coastguard Worker font-style: italic; 184*5e7646d2SAndroid Build Coastguard Worker font-weight: bold; 185*5e7646d2SAndroid Build Coastguard Worker white-space: nowrap; 186*5e7646d2SAndroid Build Coastguard Worker} 187*5e7646d2SAndroid Build Coastguard Worker 188*5e7646d2SAndroid Build Coastguard WorkerH2 SPAN.info, H3 SPAN.info, H4 SPAN.info { 189*5e7646d2SAndroid Build Coastguard Worker float: right; 190*5e7646d2SAndroid Build Coastguard Worker font-size: 100%; 191*5e7646d2SAndroid Build Coastguard Worker} 192*5e7646d2SAndroid Build Coastguard Worker 193*5e7646d2SAndroid Build Coastguard WorkerH1.title { 194*5e7646d2SAndroid Build Coastguard Worker} 195*5e7646d2SAndroid Build Coastguard Worker 196*5e7646d2SAndroid Build Coastguard WorkerH2.title, H3.title { 197*5e7646d2SAndroid Build Coastguard Worker border-bottom: solid 2pt #000000; 198*5e7646d2SAndroid Build Coastguard Worker} 199*5e7646d2SAndroid Build Coastguard Worker 200*5e7646d2SAndroid Build Coastguard WorkerDIV.indent, TABLE.indent { 201*5e7646d2SAndroid Build Coastguard Worker margin-top: 2em; 202*5e7646d2SAndroid Build Coastguard Worker margin-left: auto; 203*5e7646d2SAndroid Build Coastguard Worker margin-right: auto; 204*5e7646d2SAndroid Build Coastguard Worker width: 90%; 205*5e7646d2SAndroid Build Coastguard Worker} 206*5e7646d2SAndroid Build Coastguard Worker 207*5e7646d2SAndroid Build Coastguard WorkerTABLE.indent { 208*5e7646d2SAndroid Build Coastguard Worker border-collapse: collapse; 209*5e7646d2SAndroid Build Coastguard Worker} 210*5e7646d2SAndroid Build Coastguard Worker 211*5e7646d2SAndroid Build Coastguard WorkerTABLE.indent TD, TABLE.indent TH { 212*5e7646d2SAndroid Build Coastguard Worker padding: 0; 213*5e7646d2SAndroid Build Coastguard Worker} 214*5e7646d2SAndroid Build Coastguard Worker 215*5e7646d2SAndroid Build Coastguard WorkerTABLE.list { 216*5e7646d2SAndroid Build Coastguard Worker border-collapse: collapse; 217*5e7646d2SAndroid Build Coastguard Worker margin-left: auto; 218*5e7646d2SAndroid Build Coastguard Worker margin-right: auto; 219*5e7646d2SAndroid Build Coastguard Worker width: 90%; 220*5e7646d2SAndroid Build Coastguard Worker} 221*5e7646d2SAndroid Build Coastguard Worker 222*5e7646d2SAndroid Build Coastguard WorkerTABLE.list TH { 223*5e7646d2SAndroid Build Coastguard Worker background: white; 224*5e7646d2SAndroid Build Coastguard Worker border-bottom: solid thin #cccccc; 225*5e7646d2SAndroid Build Coastguard Worker color: #444444; 226*5e7646d2SAndroid Build Coastguard Worker padding-top: 10pt; 227*5e7646d2SAndroid Build Coastguard Worker padding-left: 5pt; 228*5e7646d2SAndroid Build Coastguard Worker text-align: left; 229*5e7646d2SAndroid Build Coastguard Worker vertical-align: bottom; 230*5e7646d2SAndroid Build Coastguard Worker white-space: nowrap; 231*5e7646d2SAndroid Build Coastguard Worker} 232*5e7646d2SAndroid Build Coastguard Worker 233*5e7646d2SAndroid Build Coastguard WorkerTABLE.list TH A { 234*5e7646d2SAndroid Build Coastguard Worker color: #4444cc; 235*5e7646d2SAndroid Build Coastguard Worker} 236*5e7646d2SAndroid Build Coastguard Worker 237*5e7646d2SAndroid Build Coastguard WorkerTABLE.list TD { 238*5e7646d2SAndroid Build Coastguard Worker border-bottom: solid thin #eeeeee; 239*5e7646d2SAndroid Build Coastguard Worker padding-top: 5pt; 240*5e7646d2SAndroid Build Coastguard Worker padding-left: 5pt; 241*5e7646d2SAndroid Build Coastguard Worker} 242*5e7646d2SAndroid Build Coastguard Worker 243*5e7646d2SAndroid Build Coastguard WorkerTABLE.list TR:nth-child(even) { 244*5e7646d2SAndroid Build Coastguard Worker background: #f8f8f8; 245*5e7646d2SAndroid Build Coastguard Worker} 246*5e7646d2SAndroid Build Coastguard Worker 247*5e7646d2SAndroid Build Coastguard WorkerTABLE.list TR:nth-child(odd) { 248*5e7646d2SAndroid Build Coastguard Worker background: #f4f4f4; 249*5e7646d2SAndroid Build Coastguard Worker} 250*5e7646d2SAndroid Build Coastguard Worker 251*5e7646d2SAndroid Build Coastguard WorkerDT { 252*5e7646d2SAndroid Build Coastguard Worker margin-left: 36pt; 253*5e7646d2SAndroid Build Coastguard Worker margin-top: 12pt; 254*5e7646d2SAndroid Build Coastguard Worker} 255*5e7646d2SAndroid Build Coastguard Worker 256*5e7646d2SAndroid Build Coastguard WorkerDD { 257*5e7646d2SAndroid Build Coastguard Worker margin-left: 54pt; 258*5e7646d2SAndroid Build Coastguard Worker} 259*5e7646d2SAndroid Build Coastguard Worker 260*5e7646d2SAndroid Build Coastguard WorkerDL.category DT { 261*5e7646d2SAndroid Build Coastguard Worker font-weight: bold; 262*5e7646d2SAndroid Build Coastguard Worker} 263*5e7646d2SAndroid Build Coastguard Worker 264*5e7646d2SAndroid Build Coastguard WorkerP.summary { 265*5e7646d2SAndroid Build Coastguard Worker margin-left: 36pt; 266*5e7646d2SAndroid Build Coastguard Worker font-family: monaco, courier, monospace; 267*5e7646d2SAndroid Build Coastguard Worker} 268*5e7646d2SAndroid Build Coastguard Worker 269*5e7646d2SAndroid Build Coastguard WorkerDIV.summary TABLE { 270*5e7646d2SAndroid Build Coastguard Worker border: solid thin #999999; 271*5e7646d2SAndroid Build Coastguard Worker border-collapse: collapse; 272*5e7646d2SAndroid Build Coastguard Worker border-spacing: 0; 273*5e7646d2SAndroid Build Coastguard Worker margin: 10px; 274*5e7646d2SAndroid Build Coastguard Worker} 275*5e7646d2SAndroid Build Coastguard Worker 276*5e7646d2SAndroid Build Coastguard WorkerDIV.summary TABLE TD, DIV.summary TABLE TH { 277*5e7646d2SAndroid Build Coastguard Worker border: solid thin #999999; 278*5e7646d2SAndroid Build Coastguard Worker padding: 5px; 279*5e7646d2SAndroid Build Coastguard Worker text-align: left; 280*5e7646d2SAndroid Build Coastguard Worker vertical-align: top; 281*5e7646d2SAndroid Build Coastguard Worker} 282*5e7646d2SAndroid Build Coastguard Worker 283*5e7646d2SAndroid Build Coastguard WorkerDIV.summary TABLE THEAD TH { 284*5e7646d2SAndroid Build Coastguard Worker background: #eeeeee; 285*5e7646d2SAndroid Build Coastguard Worker} 286*5e7646d2SAndroid Build Coastguard Worker 287*5e7646d2SAndroid Build Coastguard Worker/* API documentation styles... */ 288*5e7646d2SAndroid Build Coastguard Workerdiv.body h1 { 289*5e7646d2SAndroid Build Coastguard Worker font-size: 250%; 290*5e7646d2SAndroid Build Coastguard Worker font-weight: bold; 291*5e7646d2SAndroid Build Coastguard Worker margin: 0; 292*5e7646d2SAndroid Build Coastguard Worker} 293*5e7646d2SAndroid Build Coastguard Workerdiv.body h2 { 294*5e7646d2SAndroid Build Coastguard Worker font-size: 250%; 295*5e7646d2SAndroid Build Coastguard Worker margin-top: 1.5em; 296*5e7646d2SAndroid Build Coastguard Worker} 297*5e7646d2SAndroid Build Coastguard Workerdiv.body h3 { 298*5e7646d2SAndroid Build Coastguard Worker font-size: 150%; 299*5e7646d2SAndroid Build Coastguard Worker margin-bottom: 0.5em; 300*5e7646d2SAndroid Build Coastguard Worker margin-top: 1.5em; 301*5e7646d2SAndroid Build Coastguard Worker} 302*5e7646d2SAndroid Build Coastguard Workerdiv.body h4 { 303*5e7646d2SAndroid Build Coastguard Worker font-size: 110%; 304*5e7646d2SAndroid Build Coastguard Worker margin-bottom: 0.5em; 305*5e7646d2SAndroid Build Coastguard Worker margin-top: 1.5em; 306*5e7646d2SAndroid Build Coastguard Worker} 307*5e7646d2SAndroid Build Coastguard Workerdiv.body h5 { 308*5e7646d2SAndroid Build Coastguard Worker font-size: 100%; 309*5e7646d2SAndroid Build Coastguard Worker margin-bottom: 0.5em; 310*5e7646d2SAndroid Build Coastguard Worker margin-top: 1.5em; 311*5e7646d2SAndroid Build Coastguard Worker} 312*5e7646d2SAndroid Build Coastguard Workerdiv.contents { 313*5e7646d2SAndroid Build Coastguard Worker background: #e8e8e8; 314*5e7646d2SAndroid Build Coastguard Worker border: solid thin black; 315*5e7646d2SAndroid Build Coastguard Worker padding: 10px; 316*5e7646d2SAndroid Build Coastguard Worker} 317*5e7646d2SAndroid Build Coastguard Workerdiv.contents h1 { 318*5e7646d2SAndroid Build Coastguard Worker font-size: 110%; 319*5e7646d2SAndroid Build Coastguard Worker} 320*5e7646d2SAndroid Build Coastguard Workerdiv.contents h2 { 321*5e7646d2SAndroid Build Coastguard Worker font-size: 100%; 322*5e7646d2SAndroid Build Coastguard Worker} 323*5e7646d2SAndroid Build Coastguard Workerdiv.contents ul.contents { 324*5e7646d2SAndroid Build Coastguard Worker font-size: 80%; 325*5e7646d2SAndroid Build Coastguard Worker} 326*5e7646d2SAndroid Build Coastguard Worker.class { 327*5e7646d2SAndroid Build Coastguard Worker border-bottom: solid 2px gray; 328*5e7646d2SAndroid Build Coastguard Worker} 329*5e7646d2SAndroid Build Coastguard Worker.constants { 330*5e7646d2SAndroid Build Coastguard Worker} 331*5e7646d2SAndroid Build Coastguard Worker.description { 332*5e7646d2SAndroid Build Coastguard Worker margin-top: 0.5em; 333*5e7646d2SAndroid Build Coastguard Worker} 334*5e7646d2SAndroid Build Coastguard Worker.discussion { 335*5e7646d2SAndroid Build Coastguard Worker} 336*5e7646d2SAndroid Build Coastguard Worker.enumeration { 337*5e7646d2SAndroid Build Coastguard Worker border-bottom: solid 2px gray; 338*5e7646d2SAndroid Build Coastguard Worker} 339*5e7646d2SAndroid Build Coastguard Worker.function { 340*5e7646d2SAndroid Build Coastguard Worker border-bottom: solid 2px gray; 341*5e7646d2SAndroid Build Coastguard Worker margin-bottom: 0; 342*5e7646d2SAndroid Build Coastguard Worker} 343*5e7646d2SAndroid Build Coastguard Worker.members { 344*5e7646d2SAndroid Build Coastguard Worker} 345*5e7646d2SAndroid Build Coastguard Worker.method { 346*5e7646d2SAndroid Build Coastguard Worker} 347*5e7646d2SAndroid Build Coastguard Worker.parameters { 348*5e7646d2SAndroid Build Coastguard Worker} 349*5e7646d2SAndroid Build Coastguard Worker.returnvalue { 350*5e7646d2SAndroid Build Coastguard Worker} 351*5e7646d2SAndroid Build Coastguard Worker.struct { 352*5e7646d2SAndroid Build Coastguard Worker border-bottom: solid 2px gray; 353*5e7646d2SAndroid Build Coastguard Worker} 354*5e7646d2SAndroid Build Coastguard Worker.typedef { 355*5e7646d2SAndroid Build Coastguard Worker border-bottom: solid 2px gray; 356*5e7646d2SAndroid Build Coastguard Worker} 357*5e7646d2SAndroid Build Coastguard Worker.union { 358*5e7646d2SAndroid Build Coastguard Worker border-bottom: solid 2px gray; 359*5e7646d2SAndroid Build Coastguard Worker} 360*5e7646d2SAndroid Build Coastguard Worker.variable { 361*5e7646d2SAndroid Build Coastguard Worker} 362*5e7646d2SAndroid Build Coastguard Workerh1, h2, h3, h4, h5, h6 { 363*5e7646d2SAndroid Build Coastguard Worker page-break-inside: avoid; 364*5e7646d2SAndroid Build Coastguard Worker} 365*5e7646d2SAndroid Build Coastguard Workerblockquote { 366*5e7646d2SAndroid Build Coastguard Worker border: solid thin gray; 367*5e7646d2SAndroid Build Coastguard Worker box-shadow: 3px 3px 5px rgba(0,0,0,0.5); 368*5e7646d2SAndroid Build Coastguard Worker padding: 10px 10px 0px; 369*5e7646d2SAndroid Build Coastguard Worker page-break-inside: avoid; 370*5e7646d2SAndroid Build Coastguard Worker} 371*5e7646d2SAndroid Build Coastguard Workerp code, li code, p.code, pre, ul.code li { 372*5e7646d2SAndroid Build Coastguard Worker background: rgba(127,127,127,0.1); 373*5e7646d2SAndroid Build Coastguard Worker border: thin dotted gray; 374*5e7646d2SAndroid Build Coastguard Worker font-family: monospace; 375*5e7646d2SAndroid Build Coastguard Worker hyphens: manual; 376*5e7646d2SAndroid Build Coastguard Worker -webkit-hyphens: manual; 377*5e7646d2SAndroid Build Coastguard Worker page-break-inside: avoid; 378*5e7646d2SAndroid Build Coastguard Worker} 379*5e7646d2SAndroid Build Coastguard Workerp.code, pre, ul.code li { 380*5e7646d2SAndroid Build Coastguard Worker padding: 10px; 381*5e7646d2SAndroid Build Coastguard Worker} 382*5e7646d2SAndroid Build Coastguard Workerp code, li code { 383*5e7646d2SAndroid Build Coastguard Worker padding: 2px 5px; 384*5e7646d2SAndroid Build Coastguard Worker} 385*5e7646d2SAndroid Build Coastguard Workera:link, a:visited { 386*5e7646d2SAndroid Build Coastguard Worker text-decoration: none; 387*5e7646d2SAndroid Build Coastguard Worker} 388*5e7646d2SAndroid Build Coastguard Workerspan.info { 389*5e7646d2SAndroid Build Coastguard Worker background: black; 390*5e7646d2SAndroid Build Coastguard Worker border: solid thin black; 391*5e7646d2SAndroid Build Coastguard Worker color: white; 392*5e7646d2SAndroid Build Coastguard Worker font-size: 80%; 393*5e7646d2SAndroid Build Coastguard Worker font-style: italic; 394*5e7646d2SAndroid Build Coastguard Worker font-weight: bold; 395*5e7646d2SAndroid Build Coastguard Worker white-space: nowrap; 396*5e7646d2SAndroid Build Coastguard Worker} 397*5e7646d2SAndroid Build Coastguard Workerh2 span.info, h3 span.info, h4 span.info { 398*5e7646d2SAndroid Build Coastguard Worker border-radius: 10px; 399*5e7646d2SAndroid Build Coastguard Worker float: right; 400*5e7646d2SAndroid Build Coastguard Worker font-size: 80%; 401*5e7646d2SAndroid Build Coastguard Worker padding: 3px 6px; 402*5e7646d2SAndroid Build Coastguard Worker} 403*5e7646d2SAndroid Build Coastguard Workerh2.title span.info, h3.title span.info, h4.title span.info { 404*5e7646d2SAndroid Build Coastguard Worker border-bottom-left-radius: 0px; 405*5e7646d2SAndroid Build Coastguard Worker border-bottom-right-radius: 0px; 406*5e7646d2SAndroid Build Coastguard Worker} 407*5e7646d2SAndroid Build Coastguard Workerh2.title span.info { 408*5e7646d2SAndroid Build Coastguard Worker padding: 4px 6px; 409*5e7646d2SAndroid Build Coastguard Worker} 410*5e7646d2SAndroid Build Coastguard Workerul.code, ul.contents, ul.subcontents { 411*5e7646d2SAndroid Build Coastguard Worker list-style-type: none; 412*5e7646d2SAndroid Build Coastguard Worker margin: 0; 413*5e7646d2SAndroid Build Coastguard Worker padding-left: 0; 414*5e7646d2SAndroid Build Coastguard Worker} 415*5e7646d2SAndroid Build Coastguard Workerul.code li { 416*5e7646d2SAndroid Build Coastguard Worker margin: 0; 417*5e7646d2SAndroid Build Coastguard Worker} 418*5e7646d2SAndroid Build Coastguard Workerul.contents > li { 419*5e7646d2SAndroid Build Coastguard Worker margin-top: 1em; 420*5e7646d2SAndroid Build Coastguard Worker} 421*5e7646d2SAndroid Build Coastguard Workerul.contents li ul.code, ul.contents li ul.subcontents { 422*5e7646d2SAndroid Build Coastguard Worker padding-left: 2em; 423*5e7646d2SAndroid Build Coastguard Worker} 424*5e7646d2SAndroid Build Coastguard Workertable.list { 425*5e7646d2SAndroid Build Coastguard Worker border-collapse: collapse; 426*5e7646d2SAndroid Build Coastguard Worker width: 100%; 427*5e7646d2SAndroid Build Coastguard Worker} 428*5e7646d2SAndroid Build Coastguard Workertable.list tr:nth-child(even) { 429*5e7646d2SAndroid Build Coastguard Worker background: rgba(127,127,127,0.1);]n} 430*5e7646d2SAndroid Build Coastguard Workertable.list th { 431*5e7646d2SAndroid Build Coastguard Worker border-right: 2px solid gray; 432*5e7646d2SAndroid Build Coastguard Worker font-family: monospace; 433*5e7646d2SAndroid Build Coastguard Worker padding: 5px 10px 5px 2px; 434*5e7646d2SAndroid Build Coastguard Worker text-align: right; 435*5e7646d2SAndroid Build Coastguard Worker vertical-align: top; 436*5e7646d2SAndroid Build Coastguard Worker} 437*5e7646d2SAndroid Build Coastguard Workertable.list td { 438*5e7646d2SAndroid Build Coastguard Worker padding: 5px 2px 5px 10px; 439*5e7646d2SAndroid Build Coastguard Worker text-align: left; 440*5e7646d2SAndroid Build Coastguard Worker vertical-align: top; 441*5e7646d2SAndroid Build Coastguard Worker} 442*5e7646d2SAndroid Build Coastguard Workerh1.title { 443*5e7646d2SAndroid Build Coastguard Worker} 444*5e7646d2SAndroid Build Coastguard Workerh2.title { 445*5e7646d2SAndroid Build Coastguard Worker border-bottom: solid 2px black; 446*5e7646d2SAndroid Build Coastguard Worker} 447*5e7646d2SAndroid Build Coastguard Workerh3.title { 448*5e7646d2SAndroid Build Coastguard Worker border-bottom: solid 2px black; 449*5e7646d2SAndroid Build Coastguard Worker} 450*5e7646d2SAndroid Build Coastguard Worker--></style> 451*5e7646d2SAndroid Build Coastguard Worker </head> 452*5e7646d2SAndroid Build Coastguard Worker <body> 453*5e7646d2SAndroid Build Coastguard Worker<!-- 454*5e7646d2SAndroid Build Coastguard Worker Administrative API header for CUPS. 455*5e7646d2SAndroid Build Coastguard Worker 456*5e7646d2SAndroid Build Coastguard Worker Copyright © 2016 by Apple Inc. 457*5e7646d2SAndroid Build Coastguard Worker 458*5e7646d2SAndroid Build Coastguard Worker Licensed under Apache License v2.0. See the file "LICENSE" for more 459*5e7646d2SAndroid Build Coastguard Worker information. 460*5e7646d2SAndroid Build Coastguard Worker--> 461*5e7646d2SAndroid Build Coastguard Worker 462*5e7646d2SAndroid Build Coastguard Worker<h1 class='title'>Administrative APIs</h1> 463*5e7646d2SAndroid Build Coastguard Worker 464*5e7646d2SAndroid Build Coastguard Worker<div class='summary'><table summary='General Information'> 465*5e7646d2SAndroid Build Coastguard Worker<thead> 466*5e7646d2SAndroid Build Coastguard Worker<tr> 467*5e7646d2SAndroid Build Coastguard Worker <th>Header</th> 468*5e7646d2SAndroid Build Coastguard Worker <th>cups/adminutil.h</th> 469*5e7646d2SAndroid Build Coastguard Worker</tr> 470*5e7646d2SAndroid Build Coastguard Worker</thead> 471*5e7646d2SAndroid Build Coastguard Worker<tbody> 472*5e7646d2SAndroid Build Coastguard Worker<tr> 473*5e7646d2SAndroid Build Coastguard Worker <th>Library</th> 474*5e7646d2SAndroid Build Coastguard Worker <td>-lcups</td> 475*5e7646d2SAndroid Build Coastguard Worker</tr> 476*5e7646d2SAndroid Build Coastguard Worker<tr> 477*5e7646d2SAndroid Build Coastguard Worker <th>See Also</th> 478*5e7646d2SAndroid Build Coastguard Worker <td>Programming: <a href='api-overview.html' target='_top'>Introduction to CUPS Programming</a><br> 479*5e7646d2SAndroid Build Coastguard Worker Programming: <a href='api-cups.html' target='_top'>CUPS API</a><br> 480*5e7646d2SAndroid Build Coastguard Worker Programming: <a href='api-httpipp.html' target='_top'>HTTP and IPP APIs</a></td> 481*5e7646d2SAndroid Build Coastguard Worker</tr> 482*5e7646d2SAndroid Build Coastguard Worker</tbody> 483*5e7646d2SAndroid Build Coastguard Worker</table></div> 484*5e7646d2SAndroid Build Coastguard Worker <div class="contents"> 485*5e7646d2SAndroid Build Coastguard Worker <h2 class="title">Contents</h2> 486*5e7646d2SAndroid Build Coastguard Worker <ul class="contents"> 487*5e7646d2SAndroid Build Coastguard Worker <li><a href="#OVERVIEW">Overview</a><ul class="subcontents"> 488*5e7646d2SAndroid Build Coastguard Worker <li><a href="#SETTINGS">Scheduler Settings</a></li> 489*5e7646d2SAndroid Build Coastguard Worker <li><a href="#DEVICES">Devices</a></li> 490*5e7646d2SAndroid Build Coastguard Worker </ul></li> 491*5e7646d2SAndroid Build Coastguard Worker <li><a href="#FUNCTIONS">Functions</a><ul class="subcontents"> 492*5e7646d2SAndroid Build Coastguard Worker <li><a href="#cupsAdminCreateWindowsPPD">cupsAdminCreateWindowsPPD</a></li> 493*5e7646d2SAndroid Build Coastguard Worker <li><a href="#cupsAdminExportSamba">cupsAdminExportSamba</a></li> 494*5e7646d2SAndroid Build Coastguard Worker <li><a href="#cupsAdminGetServerSettings">cupsAdminGetServerSettings</a></li> 495*5e7646d2SAndroid Build Coastguard Worker <li><a href="#cupsAdminSetServerSettings">cupsAdminSetServerSettings</a></li> 496*5e7646d2SAndroid Build Coastguard Worker <li><a href="#cupsGetDevices">cupsGetDevices</a></li> 497*5e7646d2SAndroid Build Coastguard Worker </ul></li> 498*5e7646d2SAndroid Build Coastguard Worker <li><a href="#TYPES">Data Types</a><ul class="subcontents"> 499*5e7646d2SAndroid Build Coastguard Worker <li><a href="#cups_device_cb_t">cups_device_cb_t</a></li> 500*5e7646d2SAndroid Build Coastguard Worker </ul></li> 501*5e7646d2SAndroid Build Coastguard Worker </ul> 502*5e7646d2SAndroid Build Coastguard Worker </div> 503*5e7646d2SAndroid Build Coastguard Worker <div class="body"> 504*5e7646d2SAndroid Build Coastguard Worker<!-- 505*5e7646d2SAndroid Build Coastguard Worker Administrative API documentation for CUPS. 506*5e7646d2SAndroid Build Coastguard Worker 507*5e7646d2SAndroid Build Coastguard Worker Copyright © 2016 by Apple Inc. 508*5e7646d2SAndroid Build Coastguard Worker 509*5e7646d2SAndroid Build Coastguard Worker Licensed under Apache License v2.0. See the file "LICENSE" for more 510*5e7646d2SAndroid Build Coastguard Worker information. 511*5e7646d2SAndroid Build Coastguard Worker--> 512*5e7646d2SAndroid Build Coastguard Worker 513*5e7646d2SAndroid Build Coastguard Worker<h2 class="title"><a name="OVERVIEW">Overview</a></h2> 514*5e7646d2SAndroid Build Coastguard Worker 515*5e7646d2SAndroid Build Coastguard Worker<p>The administrative APIs provide convenience functions to perform certain administrative functions with the CUPS scheduler.</p> 516*5e7646d2SAndroid Build Coastguard Worker 517*5e7646d2SAndroid Build Coastguard Worker<blockquote><b>Note:</b> 518*5e7646d2SAndroid Build Coastguard Worker <p>Administrative functions normally require administrative privileges to execute and must not be used in ordinary user applications!</p> 519*5e7646d2SAndroid Build Coastguard Worker</blockquote> 520*5e7646d2SAndroid Build Coastguard Worker 521*5e7646d2SAndroid Build Coastguard Worker<h3><a name="SETTINGS">Scheduler Settings</a></h3> 522*5e7646d2SAndroid Build Coastguard Worker 523*5e7646d2SAndroid Build Coastguard Worker<p>The <a href="#cupsAdminGetServerSettings"><code>cupsAdminGetServerSettings</code></a> and <a href="#cupsAdminSetServerSettings"><code>cupsAdminSetServerSettings</code></a> functions allow you to get and set simple directives and their values, respectively, in the <var>cupsd.conf</var> file for the CUPS scheduler. Settings are stored in CUPS option arrays which provide a simple list of string name/value pairs. While any simple <var>cupsd.conf</var> directive name can be specified, the following convenience names are also defined to control common complex directives:</p> 524*5e7646d2SAndroid Build Coastguard Worker 525*5e7646d2SAndroid Build Coastguard Worker<ul> 526*5e7646d2SAndroid Build Coastguard Worker <li><code>CUPS_SERVER_DEBUG_LOGGING</code></li>: For <code>cupsAdminGetServerSettings</code>, a value of "1" means that the <code>LogLevel</code> directive is set to <code>debug</code> or <code>debug2</code> while a value of "0" means it is set to any other value. For <code>cupsAdminSetServerSettings</code> a value of "1" sets the <code>LogLeveL</code> to <code>debug</code> while a value of "0" sets it to <code>warn</code>.</li> 527*5e7646d2SAndroid Build Coastguard Worker <li><code>CUPS_SERVER_REMOTE_ADMIN</code></li>: A value of "1" specifies that administrative requests are accepted from remote addresses while "0" specifies that requests are only accepted from local addresses (loopback interface and domain sockets).</li> 528*5e7646d2SAndroid Build Coastguard Worker <li><code>CUPS_SERVER_REMOTE_ANY</code></li>: A value of "1" specifies that requests are accepts from any address while "0" specifies that requests are only accepted from the local subnet (when sharing is enabled) or local addresses (loopback interface and domain sockets).</li> 529*5e7646d2SAndroid Build Coastguard Worker <li><code>CUPS_SERVER_SHARE_PRINTERS</code></li>: A value of "1" specifies that printer sharing is enabled for selected printers and remote requests are accepted while a value of "0" specifies that printer sharing is disables and remote requests are not accepted.</li> 530*5e7646d2SAndroid Build Coastguard Worker <li><code>CUPS_SERVER_USER_CANCEL_ANY</code></li>: A value of "1" specifies that the default security policy allows any user to cancel any print job, regardless of the owner. A value of "0" specifies that only administrative users can cancel other user's jobs.</li> 531*5e7646d2SAndroid Build Coastguard Worker</ul> 532*5e7646d2SAndroid Build Coastguard Worker 533*5e7646d2SAndroid Build Coastguard Worker<blockquote><b>Note:</b> 534*5e7646d2SAndroid Build Coastguard Worker <p>Changing settings will restart the CUPS scheduler.</p> 535*5e7646d2SAndroid Build Coastguard Worker <p>When printer sharing or the web interface are enabled, the scheduler's launch-on-demand functionality is effectively disabled. This can affect power usage, system performance, and the security profile of a system.</p> 536*5e7646d2SAndroid Build Coastguard Worker</blockquote> 537*5e7646d2SAndroid Build Coastguard Worker 538*5e7646d2SAndroid Build Coastguard Worker<p>The recommended way to make changes to the <var>cupsd.conf</var> is to first call <a href="#cupsAdminGetServerSettings"><code>cupsAdminGetServerSettings</code></a>, make any changes to the returned option array, and then call <a href="#cupsAdminSetServerSettings"><code>cupsAdminSetServerSettings</code></a> to save those settings. For example, to enable the web interface:</p> 539*5e7646d2SAndroid Build Coastguard Worker 540*5e7646d2SAndroid Build Coastguard Worker<pre class="example"> 541*5e7646d2SAndroid Build Coastguard Worker#include <cups/cups.h> 542*5e7646d2SAndroid Build Coastguard Worker#include <cups/adminutil.h> 543*5e7646d2SAndroid Build Coastguard Worker 544*5e7646d2SAndroid Build Coastguard Workervoid 545*5e7646d2SAndroid Build Coastguard Workerenable_web_interface(void) 546*5e7646d2SAndroid Build Coastguard Worker{ 547*5e7646d2SAndroid Build Coastguard Worker int num_settings = 0; /* Number of settings */ 548*5e7646d2SAndroid Build Coastguard Worker cups_option_t *settings = NULL; /* Settings */ 549*5e7646d2SAndroid Build Coastguard Worker 550*5e7646d2SAndroid Build Coastguard Worker 551*5e7646d2SAndroid Build Coastguard Worker if (!<a href="#cupsAdminGetServerSettings">cupsAdminGetServerSettings</a>(CUPS_HTTP_DEFAULT, &num_settings, &settings)) 552*5e7646d2SAndroid Build Coastguard Worker { 553*5e7646d2SAndroid Build Coastguard Worker fprintf(stderr, "ERROR: Unable to get server settings: %s\n", cupsLastErrorString()); 554*5e7646d2SAndroid Build Coastguard Worker return; 555*5e7646d2SAndroid Build Coastguard Worker } 556*5e7646d2SAndroid Build Coastguard Worker 557*5e7646d2SAndroid Build Coastguard Worker num_settings = <a href="api-cups.html#cupsAddOption">cupsAddOption</a>("WebInterface", "Yes", num_settings, &settings); 558*5e7646d2SAndroid Build Coastguard Worker 559*5e7646d2SAndroid Build Coastguard Worker if (!<a href="#cupsAdminSetServerSettings">cupsAdminSetServerSettings</a>(CUPS_HTTP_DEFAULT, num_settings, settings)) 560*5e7646d2SAndroid Build Coastguard Worker { 561*5e7646d2SAndroid Build Coastguard Worker fprintf(stderr, "ERROR: Unable to set server settings: %s\n", cupsLastErrorString()); 562*5e7646d2SAndroid Build Coastguard Worker } 563*5e7646d2SAndroid Build Coastguard Worker 564*5e7646d2SAndroid Build Coastguard Worker <a href="api-cups.html#cupsFreeOptions">cupsFreeOptions</a>(num_settings, settings); 565*5e7646d2SAndroid Build Coastguard Worker} 566*5e7646d2SAndroid Build Coastguard Worker</pre> 567*5e7646d2SAndroid Build Coastguard Worker 568*5e7646d2SAndroid Build Coastguard Worker<h3><a name="DEVICES">Devices</a></h3> 569*5e7646d2SAndroid Build Coastguard Worker 570*5e7646d2SAndroid Build Coastguard Worker<p>Printers can be discovered through the CUPS scheduler using the <a href="#cupsGetDevices"><code>cupsGetDevices</code></a> API. Typically this API is used to locate printers to add the the system. Each device that is found will cause a supplied callback function to be executed. For example, to list the available printer devices that can be found within 30 seconds:</p> 571*5e7646d2SAndroid Build Coastguard Worker 572*5e7646d2SAndroid Build Coastguard Worker<pre class="example"> 573*5e7646d2SAndroid Build Coastguard Worker#include <cups/cups.h> 574*5e7646d2SAndroid Build Coastguard Worker#include <cups/adminutil.h> 575*5e7646d2SAndroid Build Coastguard Worker 576*5e7646d2SAndroid Build Coastguard Worker 577*5e7646d2SAndroid Build Coastguard Workervoid 578*5e7646d2SAndroid Build Coastguard Workerget_devices_cb( 579*5e7646d2SAndroid Build Coastguard Worker const char *device_class, /* I - Class */ 580*5e7646d2SAndroid Build Coastguard Worker const char *device_id, /* I - 1284 device ID */ 581*5e7646d2SAndroid Build Coastguard Worker const char *device_info, /* I - Description */ 582*5e7646d2SAndroid Build Coastguard Worker const char *device_make_and_model, /* I - Make and model */ 583*5e7646d2SAndroid Build Coastguard Worker const char *device_uri, /* I - Device URI */ 584*5e7646d2SAndroid Build Coastguard Worker const char *device_location, /* I - Location */ 585*5e7646d2SAndroid Build Coastguard Worker void *user_data) /* I - User data */ 586*5e7646d2SAndroid Build Coastguard Worker{ 587*5e7646d2SAndroid Build Coastguard Worker puts(device_uri); 588*5e7646d2SAndroid Build Coastguard Worker} 589*5e7646d2SAndroid Build Coastguard Worker 590*5e7646d2SAndroid Build Coastguard Worker 591*5e7646d2SAndroid Build Coastguard Workervoid 592*5e7646d2SAndroid Build Coastguard Workershow_devices(void) 593*5e7646d2SAndroid Build Coastguard Worker{ 594*5e7646d2SAndroid Build Coastguard Worker <a href="#cupsGetDevices">cupsGetDevices</a>(CUPS_HTTP_DEFAULT, 30, NULL, NULL, get_devices_cb, NULL); 595*5e7646d2SAndroid Build Coastguard Worker} 596*5e7646d2SAndroid Build Coastguard Worker</pre> 597*5e7646d2SAndroid Build Coastguard Worker <h2 class="title"><a id="FUNCTIONS">Functions</a></h2> 598*5e7646d2SAndroid Build Coastguard Worker<h3 class="function"><span class="info"> DEPRECATED </span><a id="cupsAdminCreateWindowsPPD">cupsAdminCreateWindowsPPD</a></h3> 599*5e7646d2SAndroid Build Coastguard Worker <p class="description">Create the Windows PPD file for a printer.</p> 600*5e7646d2SAndroid Build Coastguard Worker<p class="code"> 601*5e7646d2SAndroid Build Coastguard Workerchar *cupsAdminCreateWindowsPPD(http_t *http, const char *dest, char *buffer, int bufsize);</p> 602*5e7646d2SAndroid Build Coastguard Worker<h4 class="parameters">Parameters</h4> 603*5e7646d2SAndroid Build Coastguard Worker<table class="list"><tbody> 604*5e7646d2SAndroid Build Coastguard Worker<tr><th>http</th> 605*5e7646d2SAndroid Build Coastguard Worker <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr> 606*5e7646d2SAndroid Build Coastguard Worker<tr><th>dest</th> 607*5e7646d2SAndroid Build Coastguard Worker <td class="description">Printer or class</td></tr> 608*5e7646d2SAndroid Build Coastguard Worker<tr><th>buffer</th> 609*5e7646d2SAndroid Build Coastguard Worker <td class="description">Filename buffer</td></tr> 610*5e7646d2SAndroid Build Coastguard Worker<tr><th>bufsize</th> 611*5e7646d2SAndroid Build Coastguard Worker <td class="description">Size of filename buffer</td></tr> 612*5e7646d2SAndroid Build Coastguard Worker</tbody></table> 613*5e7646d2SAndroid Build Coastguard Worker<h4 class="returnvalue">Return Value</h4> 614*5e7646d2SAndroid Build Coastguard Worker <p class="description">PPD file or NULL</p> 615*5e7646d2SAndroid Build Coastguard Worker<h3 class="function"><span class="info"> DEPRECATED </span><a id="cupsAdminExportSamba">cupsAdminExportSamba</a></h3> 616*5e7646d2SAndroid Build Coastguard Worker <p class="description">Export a printer to Samba.</p> 617*5e7646d2SAndroid Build Coastguard Worker<p class="code"> 618*5e7646d2SAndroid Build Coastguard Workerint cupsAdminExportSamba(const char *dest, const char *ppd, const char *samba_server, const char *samba_user, const char *samba_password, FILE *logfile);</p> 619*5e7646d2SAndroid Build Coastguard Worker<h4 class="parameters">Parameters</h4> 620*5e7646d2SAndroid Build Coastguard Worker<table class="list"><tbody> 621*5e7646d2SAndroid Build Coastguard Worker<tr><th>dest</th> 622*5e7646d2SAndroid Build Coastguard Worker <td class="description">Destination to export</td></tr> 623*5e7646d2SAndroid Build Coastguard Worker<tr><th>ppd</th> 624*5e7646d2SAndroid Build Coastguard Worker <td class="description">PPD file</td></tr> 625*5e7646d2SAndroid Build Coastguard Worker<tr><th>samba_server</th> 626*5e7646d2SAndroid Build Coastguard Worker <td class="description">Samba server</td></tr> 627*5e7646d2SAndroid Build Coastguard Worker<tr><th>samba_user</th> 628*5e7646d2SAndroid Build Coastguard Worker <td class="description">Samba username</td></tr> 629*5e7646d2SAndroid Build Coastguard Worker<tr><th>samba_password</th> 630*5e7646d2SAndroid Build Coastguard Worker <td class="description">Samba password</td></tr> 631*5e7646d2SAndroid Build Coastguard Worker<tr><th>logfile</th> 632*5e7646d2SAndroid Build Coastguard Worker <td class="description">Log file, if any</td></tr> 633*5e7646d2SAndroid Build Coastguard Worker</tbody></table> 634*5e7646d2SAndroid Build Coastguard Worker<h4 class="returnvalue">Return Value</h4> 635*5e7646d2SAndroid Build Coastguard Worker <p class="description">1 on success, 0 on failure</p> 636*5e7646d2SAndroid Build Coastguard Worker<h3 class="function"><span class="info"> CUPS 1.3/macOS 10.5 </span><a id="cupsAdminGetServerSettings">cupsAdminGetServerSettings</a></h3> 637*5e7646d2SAndroid Build Coastguard Worker <p class="description">Get settings from the server.</p> 638*5e7646d2SAndroid Build Coastguard Worker<p class="code"> 639*5e7646d2SAndroid Build Coastguard Workerint cupsAdminGetServerSettings(http_t *http, int *num_settings, cups_option_t **settings);</p> 640*5e7646d2SAndroid Build Coastguard Worker<h4 class="parameters">Parameters</h4> 641*5e7646d2SAndroid Build Coastguard Worker<table class="list"><tbody> 642*5e7646d2SAndroid Build Coastguard Worker<tr><th>http</th> 643*5e7646d2SAndroid Build Coastguard Worker <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr> 644*5e7646d2SAndroid Build Coastguard Worker<tr><th>num_settings</th> 645*5e7646d2SAndroid Build Coastguard Worker <td class="description">Number of settings</td></tr> 646*5e7646d2SAndroid Build Coastguard Worker<tr><th>settings</th> 647*5e7646d2SAndroid Build Coastguard Worker <td class="description">Settings</td></tr> 648*5e7646d2SAndroid Build Coastguard Worker</tbody></table> 649*5e7646d2SAndroid Build Coastguard Worker<h4 class="returnvalue">Return Value</h4> 650*5e7646d2SAndroid Build Coastguard Worker <p class="description">1 on success, 0 on failure</p> 651*5e7646d2SAndroid Build Coastguard Worker<h4 class="discussion">Discussion</h4> 652*5e7646d2SAndroid Build Coastguard Worker <p class="discussion">The returned settings should be freed with cupsFreeOptions() when 653*5e7646d2SAndroid Build Coastguard Workeryou are done with them. 654*5e7646d2SAndroid Build Coastguard Worker 655*5e7646d2SAndroid Build Coastguard Worker</p> 656*5e7646d2SAndroid Build Coastguard Worker<h3 class="function"><span class="info"> CUPS 1.3/macOS 10.5 </span><a id="cupsAdminSetServerSettings">cupsAdminSetServerSettings</a></h3> 657*5e7646d2SAndroid Build Coastguard Worker <p class="description">Set settings on the server.</p> 658*5e7646d2SAndroid Build Coastguard Worker<p class="code"> 659*5e7646d2SAndroid Build Coastguard Workerint cupsAdminSetServerSettings(http_t *http, int num_settings, cups_option_t *settings);</p> 660*5e7646d2SAndroid Build Coastguard Worker<h4 class="parameters">Parameters</h4> 661*5e7646d2SAndroid Build Coastguard Worker<table class="list"><tbody> 662*5e7646d2SAndroid Build Coastguard Worker<tr><th>http</th> 663*5e7646d2SAndroid Build Coastguard Worker <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr> 664*5e7646d2SAndroid Build Coastguard Worker<tr><th>num_settings</th> 665*5e7646d2SAndroid Build Coastguard Worker <td class="description">Number of settings</td></tr> 666*5e7646d2SAndroid Build Coastguard Worker<tr><th>settings</th> 667*5e7646d2SAndroid Build Coastguard Worker <td class="description">Settings</td></tr> 668*5e7646d2SAndroid Build Coastguard Worker</tbody></table> 669*5e7646d2SAndroid Build Coastguard Worker<h4 class="returnvalue">Return Value</h4> 670*5e7646d2SAndroid Build Coastguard Worker <p class="description">1 on success, 0 on failure</p> 671*5e7646d2SAndroid Build Coastguard Worker<h3 class="function"><span class="info"> DEPRECATED </span><a id="cupsGetDevices">cupsGetDevices</a></h3> 672*5e7646d2SAndroid Build Coastguard Worker <p class="description">Get available printer devices.</p> 673*5e7646d2SAndroid Build Coastguard Worker<p class="code"> 674*5e7646d2SAndroid Build Coastguard Workeripp_status_t cupsGetDevices(http_t *http, int timeout, const char *include_schemes, const char *exclude_schemes, <a href="#cups_device_cb_t">cups_device_cb_t</a> callback, void *user_data);</p> 675*5e7646d2SAndroid Build Coastguard Worker<h4 class="parameters">Parameters</h4> 676*5e7646d2SAndroid Build Coastguard Worker<table class="list"><tbody> 677*5e7646d2SAndroid Build Coastguard Worker<tr><th>http</th> 678*5e7646d2SAndroid Build Coastguard Worker <td class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></td></tr> 679*5e7646d2SAndroid Build Coastguard Worker<tr><th>timeout</th> 680*5e7646d2SAndroid Build Coastguard Worker <td class="description">Timeout in seconds or <code>CUPS_TIMEOUT_DEFAULT</code></td></tr> 681*5e7646d2SAndroid Build Coastguard Worker<tr><th>include_schemes</th> 682*5e7646d2SAndroid Build Coastguard Worker <td class="description">Comma-separated URI schemes to include or <code>CUPS_INCLUDE_ALL</code></td></tr> 683*5e7646d2SAndroid Build Coastguard Worker<tr><th>exclude_schemes</th> 684*5e7646d2SAndroid Build Coastguard Worker <td class="description">Comma-separated URI schemes to exclude or <code>CUPS_EXCLUDE_NONE</code></td></tr> 685*5e7646d2SAndroid Build Coastguard Worker<tr><th>callback</th> 686*5e7646d2SAndroid Build Coastguard Worker <td class="description">Callback function</td></tr> 687*5e7646d2SAndroid Build Coastguard Worker<tr><th>user_data</th> 688*5e7646d2SAndroid Build Coastguard Worker <td class="description">User data pointer</td></tr> 689*5e7646d2SAndroid Build Coastguard Worker</tbody></table> 690*5e7646d2SAndroid Build Coastguard Worker<h4 class="returnvalue">Return Value</h4> 691*5e7646d2SAndroid Build Coastguard Worker <p class="description">Request status - <code>IPP_OK</code> on success.</p> 692*5e7646d2SAndroid Build Coastguard Worker<h4 class="discussion">Discussion</h4> 693*5e7646d2SAndroid Build Coastguard Worker <p class="discussion">This function sends a CUPS-Get-Devices request and streams the discovered 694*5e7646d2SAndroid Build Coastguard Workerdevices to the specified callback function. The "timeout" parameter controls 695*5e7646d2SAndroid Build Coastguard Workerhow long the request lasts, while the "include_schemes" and "exclude_schemes" 696*5e7646d2SAndroid Build Coastguard Workerparameters provide comma-delimited lists of backends to include or omit from 697*5e7646d2SAndroid Build Coastguard Workerthe request respectively.<br> 698*5e7646d2SAndroid Build Coastguard Worker<br> 699*5e7646d2SAndroid Build Coastguard WorkerThis function is deprecated with the IPP printer discovery functionality 700*5e7646d2SAndroid Build Coastguard Workerbeing provided by the <a href="#cupsEnumDests"><code>cupsEnumDests</code></a> and @cupsGetDests@ functions. 701*5e7646d2SAndroid Build Coastguard Worker 702*5e7646d2SAndroid Build Coastguard Worker</p> 703*5e7646d2SAndroid Build Coastguard Worker <h2 class="title"><a id="TYPES">Data Types</a></h2> 704*5e7646d2SAndroid Build Coastguard Worker <h3 class="typedef"><a id="cups_device_cb_t"><span class="info"> CUPS 1.4/macOS 10.6 </span>cups_device_cb_t</a></h3> 705*5e7646d2SAndroid Build Coastguard Worker <p class="description">Device callback 706*5e7646d2SAndroid Build Coastguard Worker</p> 707*5e7646d2SAndroid Build Coastguard Worker <p class="code"> 708*5e7646d2SAndroid Build Coastguard Workertypedef void (*cups_device_cb_t)(const char *device_class, const char *device_id, const char *device_info, const char *device_make_and_model, const char *device_uri, const char *device_location, void *user_data); 709*5e7646d2SAndroid Build Coastguard Worker</p> 710*5e7646d2SAndroid Build Coastguard Worker </div> 711*5e7646d2SAndroid Build Coastguard Worker </body> 712*5e7646d2SAndroid Build Coastguard Worker</html> 713