/usr/share/doc/plplot-doc/html/api-compat.html is in plplot-doc 5.9.9-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>API compatibility definition</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="The PLplot Plotting Library"
HREF="index.html"><LINK
REL="UP"
TITLE=" Reference "
HREF="part_reference.html"><LINK
REL="PREVIOUS"
TITLE="
plsesc: Set the escape character for text strings
for Fortran 77
"
HREF="plsescfortran77.html"><LINK
REL="NEXT"
TITLE="
Regression test for backwards compatibility
"
HREF="api_regression_tests.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="stylesheet.css"></HEAD
><BODY
CLASS="chapter"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The PLplot Plotting Library: Programmer's Reference Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="plsescfortran77.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="api_regression_tests.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="chapter"
><H1
><A
NAME="api-compat"
></A
>Chapter 23. API compatibility definition</H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="api-compat.html#api_definition"
>What is in the API?</A
></DT
><DT
><A
HREF="api_regression_tests.html"
>Regression test for backwards compatibility</A
></DT
></DL
></DIV
><P
> This chapter presents the formal definition of what is considered to be
in the PLplot library API. It is assumed that major new releases of
PLplot will have substantial backwards incompatible changes in the API,
but the PLplot developers commit to introducing as few as possible of
such incompatibilities between minor releases such that stability
across those minor releases is practically guaranteed. In all cases
where backwards incompatible changes have been introduced, then the
library soname will be changed (for operating systems such as Linux
that support versioned shared libraries).
</P
><P
> The information in this chapter regards version 5.9.9 of
PLplot, released on 2011-10-12.
</P
><DIV
CLASS="sect1"
><H1
CLASS="sect1"
><A
NAME="api_definition"
>What is in the API?</A
></H1
><P
> The formal definition of the PLplot C API is everything that is defined
in the include file <TT
CLASS="filename"
>plplot.h</TT
>. This includes all
the function prototypes, the defined structures and the semantics of
the constants. The list of symbols currently exported by the shared
library <TT
CLASS="filename"
>libplplot.h</TT
> that are declared in
<TT
CLASS="filename"
>plplot.h</TT
> is the following:
</P
><P
> <TABLE
CLASS="verbatim"
><TR
><TD
><PRE
CLASS="programlisting"
>plAlloc2dGrid plgcol0 plscmap1la
plClearOpts plgcol0a plscmap1n
plFindCommand plgcolbg plscol0
plFindName plgcolbga plscol0a
plFree2dGrid plgcompression plscolbg
plGetCursor plgdev plscolbga
plGetFlt plgdidev plscolor
plGetInt plgdiori plscompression
plGetName plgdiplt plsdev
plMergeOpts plgdrawmode plsdidev
plMinMax2dGrid plgesc plsdimap
plOptUsage plgfam plsdiori
plResetOpts plgfci plsdiplt
plSetUsage plgfile plsdiplz
plTranslateCursor plgfnam plsdrawmode
pl_cmd plgfont plseed
pl_setcontlabelformat plglevel plseopH
pl_setcontlabelparam plgpage plsesc
pladv plgra plsetopt
plarc plgradient plsexit
plaxes plgriddata plsfam
plbin plgspa plsfci
plbop plgstrm plsfile
plbox plgver plsfnam
plbox3 plgvpd plsfont
plbtime plgvpw plshade
plcalc_world plgxax plshade1
plclear plgyax plshades
plcol0 plgzax plslabelfunc
plcol1 plhist plsmaj
plcolorbar plhlsrgb plsmem
plconfigtime plimage plsmema
plcont plimagefr plsmin
plcpstrm plinit plsori
plctime pljoin plspage
pldid2pc pllab plspal0
pldip2dc pllegend plspal1
plend pllightsource plspause
plend1 plline plsstrm
plenv plline3 plssub
plenv0 pllsty plssym
pleop plmap plstar
plerrx plmeridians plstart
plerry plmesh plstransform
plf2eval plmeshc plstring
plf2eval1 plmkstrm plstring3
plf2eval2 plmtex plstripa
plf2evalr plmtex3 plstripc
plf2ops_c plot3d plstripd
plf2ops_grid_c plot3dc plstyl
plf2ops_grid_col_major plot3dcl plsurf3d
plf2ops_grid_row_major plparseopts plsurf3dl
plfamadv plpat plsvect
plfcont plpath plsvpa
plfgriddata plpoin plsxax
plfill plpoin3 plsxwin
plfill3 plpoly3 plsyax
plfimage plprec plsym
plfimagefr plpsty plszax
plflush plptex pltext
plfmesh plptex3 pltimefmt
plfmeshc plrandd pltr0
plfont plreplot pltr1
plfontld plrgbhls pltr2
plfplot3d plsButtonEH pltr2f
plfplot3dc plsError pltr2p
plfplot3dcl plsKeyEH plvasp
plfshade plsabort plvect
plfshade1 plsbopH plvpas
plfshades plschr plvpor
plfsurf3d plscmap0 plvsta
plfsurf3dl plscmap0a plw3d
plfvect plscmap0n plwid
plgDevs plscmap1 plwind
plgFileDevs plscmap1_range plxormod
plgchr plscmap1a
plgcmap1_range plscmap1l </PRE
></TD
></TR
></TABLE
>
</P
><P
> Another important aspect of compatibility regard the Application
Binary Interface (ABI). Backwards compatibility can be broken by
changes in the C structures made public through
<TT
CLASS="filename"
>plplot.h</TT
>. Currently, they are:
</P
><P
> <TABLE
CLASS="verbatim"
><TR
><TD
><PRE
CLASS="programlisting"
>typedef struct
{
const char *opt;
int ( *handler )( const char *, const char *, void * );
void *client_data;
void *var;
long mode;
const char *syntax;
const char *desc;
} PLOptionTable;
typedef struct
{
int type; // of event (CURRENTLY UNUSED)
unsigned int state; // key or button mask
unsigned int keysym; // key selected
unsigned int button; // mouse button selected
PLINT subwindow; // subwindow (alias subpage, alias subplot) number
char string[PL_MAXKEY]; // translated string
int pX, pY; // absolute device coordinates of pointer
PLFLT dX, dY; // relative device coordinates of pointer
PLFLT wX, wY; // world coordinates of pointer
} PLGraphicsIn;
typedef struct
{
PLFLT dxmi, dxma, dymi, dyma; // min, max window rel dev coords
PLFLT wxmi, wxma, wymi, wyma; // min, max window world coords
} PLWindow;
typedef struct
{
unsigned int x, y; // upper left hand corner
unsigned int width, height; // window dimensions
} PLDisplay;
typedef struct
{
PLFLT *f;
PLINT nx, ny, nz;
} PLfGrid;
typedef struct
{
PLFLT **f;
PLINT nx, ny;
} PLfGrid2;
typedef struct
{
PLFLT *xg, *yg, *zg;
PLINT nx, ny, nz;
} PLcGrid;
typedef struct
{
PLFLT **xg, **yg, **zg;
PLINT nx, ny;
} PLcGrid2;
typedef struct
{
unsigned char r; // red
unsigned char g; // green
unsigned char b; // blue
PLFLT a; // alpha (or transparency)
const char *name;
} PLColor;
typedef struct
{
PLFLT h; // hue
PLFLT l; // lightness
PLFLT s; // saturation
PLFLT p; // position
PLFLT a; // alpha (or transparency)
int rev; // if set, interpolate through h=0
} PLControlPt;
typedef struct
{
PLINT cmd;
PLINT result;
} PLBufferingCB;
typedef struct
{
PLFLT exp_label_disp;
PLFLT exp_label_pos;
PLFLT exp_label_just;
} PLLabelDefaults;
typedef struct
{
PLFLT ( *get )( PLPointer p, PLINT ix, PLINT iy );
PLFLT ( *set )( PLPointer p, PLINT ix, PLINT iy, PLFLT z );
PLFLT ( *add )( PLPointer p, PLINT ix, PLINT iy, PLFLT z );
PLFLT ( *sub )( PLPointer p, PLINT ix, PLINT iy, PLFLT z );
PLFLT ( *mul )( PLPointer p, PLINT ix, PLINT iy, PLFLT z );
PLFLT ( *div )( PLPointer p, PLINT ix, PLINT iy, PLFLT z );
PLINT ( *is_nan )( PLPointer p, PLINT ix, PLINT iy );
void ( *minmax )( PLPointer p, PLINT nx, PLINT ny, PLFLT *zmim, PLFLT *zmax );
//
// f2eval is backwards compatible signature for "f2eval" functions that
// existed before plf2ops "operator function families" were used.
//
PLFLT ( *f2eval )( PLINT ix, PLINT iy, PLPointer p );
} plf2ops_t;
</PRE
></TD
></TR
></TABLE
>
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="plsescfortran77.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="api_regression_tests.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><CODE
CLASS="function"
>plsesc</CODE
>: Set the escape character for text strings
for Fortran 77</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="part_reference.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Regression test for backwards compatibility</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>
|