## # $XConsortium: dis_deviations,v 5.2 94/04/17 20:41:03 rws Exp $ ## ## ## Copyright 1989, 1990, 1991 by Sun Microsystems, Inc. and the X Consortium. ## ## All Rights Reserved ## ## Permission to use, copy, modify, and distribute this software and its ## documentation for any purpose and without fee is hereby granted, ## provided that the above copyright notice appear in all copies and that ## both that copyright notice and this permission notice appear in ## supporting documentation, and that the names of Sun Microsystems ## and the X Consortium not be used in advertising or publicity ## pertaining to distribution of the software without specific, written ## prior permission. ## ## SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ## INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO ## EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR ## CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF ## USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ## OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ## PERFORMANCE OF THIS SOFTWARE. SI Deviations From the DIS PHIGS C Binding ------------------------------------------ All of these either correct bugs in the DIS or anticipate changes that will be made from DIS to IS. 1) Pcolr_rep: The name of the Phsv field is "hsv", not "hlv". 2) All Pdouble usage in the DIS binding is Pfloat in the SI binding. 3) Everywhere the DIS binding lists the parameter "Pstore *store" the SI uses "Pstore store", i.e., the store object is passed directly, not a pointer to it. 4) The Pstring_data and Pstring_data3 structures are different in the SI from those specified in the C binding. Pstring_data and Pstring_data3 are defined as follows in the SI: typedef struct { Pint buffer_size; /* input buffer size */ Pint init_pos; /* initial editing position */ union { Pint unused; } pet_r1; } Pstring_data; typedef Pstring_data Pstring_data3; 5) The following functions do not have the "in_buf_size" and "init_pos" parameters listed in the DIS binding. Those fields are in the Pstring_data or Pstring_data3 data structure passed to these functions. INITIALIZE STRING INITIALIZE STRING 3 INQUIRE STRING DEVICE STATE INQUIRE STRING DEVICE STATE 3 INQUIRE DEFAULT STRING DEVICE STATE INQUIRE DEFAULT STRING DEVICE STATE 3 6) The Pstroke_data and Pstroke_data3 structures are different in the SI from those specified in the C binding. Pstroke_data and Pstroke_data3 are defined as follows in the SI: typedef struct { Pint buffer_size; /* input buffer size */ Pint init_pos; /* initial editing position */ Pfloat x_interval; /* x interval */ Pfloat y_interval; /* y interval */ Pfloat time_interval; /* time interval */ union { struct { Pint unused; } pet_r1; struct { Pint unused; } pet_r2; struct { Pmarker_attrs marker_attrs; /* marker attributes */ } pet_r3; struct { Pline_attrs line_attrs; /* line attributes */ } pet_r4; } pets; } Pstroke_data; /* Pstroke_data3 -- stroke data record 3 */ typedef struct { Pint buffer_size; /* input buffer size */ Pint init_pos; /* initial editing position */ Pfloat x_interval; /* x interval */ Pfloat y_interval; /* y interval */ Pfloat z_interval; /* z interval */ Pfloat time_interval; /* time interval */ union { struct { Pint unused; } pet_r1; struct { Pint unused; } pet_r2; struct { Pmarker_attrs marker_attrs; /* marker attributes */ } pet_r3; struct { Pline_attrs line_attrs; /* line attributes */ } pet_r4; } pets; } Pstroke_data3; 7) The following functions do not have the "in_buf_size" and "init_pos" fields listed in the DIS binding. Those fields are in the Pstroke_data or Pstroke_data3 data structure passed to these functions. INITIALIZE STROKE INITIALIZE STROKE 3 INQUIRE STROKE DEVICE STATE INQUIRE STROKE DEVICE STATE 3 INQUIRE DEFAULT STROKE DEVICE STATE INQUIRE DEFAULT STROKE DEVICE STATE 3 8) The Pval_data and Pval_datas structures are different in the SI from those specified in the C binding. Pval_data and Pval_data3 are defined as follows in the SI: typedef struct { Pfloat low; /* low range limit */ Pfloat high; /* high range limit */ union { struct { Pint unused; } pet_r1; struct { Pchar *label; Pchar *format; Pchar *low_label; Pchar *high_label; } pet_u1; } pets; } Pval_data; typedef Pval_data Pval_data3; 9) The following functions do not have the "low_value" and "high_value" parameters listed in the DIS binding. Those fields are in the Pval_data or Pval_data3 data structure passed to these functions. INITIALIZE VALUATOR INITIALIZE VALUATOR 3 INQUIRE VALUATOR DEVICE STATE INQUIRE VALUATOR DEVICE STATE 3 INQUIRE DEFAULT VALUATOR DEVICE STATE INQUIRE DEFAULT VALUATOR DEVICE STATE 3 10) The SI binding uses char * instead of void *. 11) Pedge_attrs.colr_asf is Pedge_attrs.colr_ind_asf in the SI. 12) Pline_attrs.colr_asf is Pline_attrs.colr_ind_asf in the SI. 13) Pint_attrs.colr_asf is Pint_attrs.colr_ind_asf in the SI. 14) Pmarker_attrs.colr_asf is Pmarker_attrs.colr_ind_asf in the SI. 15) INQUIRE ANNOTATION FACILITIES replaces the last parameter with two Pfloat pointers: pinq_anno_facs(type, length, start, error_ind, styles, total_length, num_anno_char_hts, min_char_ht, max_char_ht) Pwstype type; /* workstation type */ Pint length; /* length of application list */ Pint start; /* starting position */ Pint *error_ind; /* OUT error indicator */ Pint_list *styles; /* OUT list annotation styles */ Pint *total_length; /* OUT length of list in PHIGS */ Pint *num_anno_char_hts; /* OUT number of character heights */ Pfloat *min_char_ht; Pfloat *max_char_ht; 16) The second paramter to the function pset_pat_ref_point_vec is "Pvec3 pat_ref_vec[2]", not "Pvec3 *pat_ref_vec[2]". 17) The connection identifier argument to the function pinq_ws_conn_type is "char **conn_id", not "char *conn_id".