/usr/include/xview_private/seln_impl.h is in xviewg-dev 3.2p1.4-28.1.
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 | /* @(#)seln_impl.h 20.38 93/06/28 */
#ifndef suntool_selection_impl_DEFINED
#define suntool_selection_impl_DEFINED
/*
* (c) Copyright 1989 Sun Microsystems, Inc. Sun design patents
* pending in the U.S. and foreign countries. See LEGAL NOTICE
* file for terms of the license.
*/
#include <errno.h>
#ifndef FILE
#if !defined(SVR4) && !defined(__linux__)
#undef NULL
#endif /* SVR4 */
#include <stdio.h>
#endif /* FILE */
#include <sys/time.h>
#include <sys/types.h>
#include <netdb.h>
#include <xview_private/i18n_impl.h>
#include <xview/notify.h>
#include <xview/pkg.h>
#include <xview/sel_pkg.h>
#include <xview/sel_svc.h>
#include <xview/sel_attrs.h>
#include <X11/Xlib.h>
extern int errno;
/*
* Procedure IDs for client-module procedures
*/
#define SELN_CLNT_REQUEST 17
#define SELN_CLNT_DO_FUNCTION 18
/* initializers */
#define SELN_NULL_ACCESS { 0, 0, {0}, {0}, 0}
#define SELN_NULL_HOLDER { SELN_UNKNOWN, SELN_NONE, SELN_NULL_ACCESS}
#define SELN_STD_TIMEOUT_SEC 4
#define SELN_STD_TIMEOUT_USEC 0 /* 4 sec timeout on connections */
#define complain(str) \
(void)fprintf(stderr, XV_MSG("Selection library internal error:\n%s\n"), XV_MSG(str))
typedef struct {
void (*do_function)();
Seln_result (*do_request)();
} Seln_client_ops;
typedef struct client_node {
Seln_client_ops ops; /* How we pass requests to client */
char *client_data;
Seln_access access;
struct client_node *next;
unsigned client_num; /* this client is the (client_num)th
* client for this selection library
*/
} Seln_client_node;
#define HIST_SIZE 50
#ifdef OW_I18N
typedef struct {
unsigned char first_time;
unsigned char event_sent;
XID requestor;
Atom property;
Atom selection;
Atom target;
Display *display;
int chars_remaining;
Time timestamp;
unsigned char format;
CHAR *buffer;
int offset;
} Seln_agent_context;
#else
typedef struct {
unsigned char first_time;
unsigned char event_sent;
XID requestor;
Atom property;
Atom selection;
Atom target;
Display *display;
int bytes_remaining;
Time timestamp;
unsigned char format;
} Seln_agent_context;
#endif /* OW_I18N */
typedef struct {
long offset;
Atom property;/* Property returned after XConvertSelection*/
} Seln_agent_getprop;
#define SELN_RANKS ((u_int)SELN_UNSPECIFIED)
typedef struct {
Atom length;
Atom contents_pieces;
Atom first;
Atom first_unit;
Atom last;
Atom last_unit;
Atom level;
Atom file_name;
Atom commit_pending_delete;
Atom delete;
Atom restore;
Atom yield;
Atom fake_level;
Atom set_level;
Atom end_request;
Atom targets;
Atom do_function;
Atom multiple;
Atom timestamp;
Atom string;
Atom is_readonly;
Atom func_key_state;
Atom selected_windows;
Atom object_content;
Atom object_size;
#ifdef OW_I18N
Atom length_chars;
Atom first_wc;
Atom last_wc;
Atom compound_text;
#endif
} Seln_target_atoms;
#define SELN_PROPERTY 100
typedef struct {
Seln_agent_context req_context;
Seln_holder client_holder[SELN_RANKS];
int held_file[SELN_RANKS];
Seln_holder agent_holder;
Time seln_acquired_time[SELN_RANKS];
XID xid;
Seln_agent_getprop get_prop;
Seln_target_atoms targets;
Atom property[SELN_PROPERTY];
Atom clipboard;
Atom caret;
int timeout; /* Timeout in secs */
} Seln_agent_info;
#define CLIPBOARD(agent) agent->clipboard
#define CARET(agent) agent->caret
#define LENGTH(selection) "LENGTH", SELN_REQ_BYTESIZE, selection.length
#define FIRST(selection) "_SUN_SELN_FIRST", SELN_REQ_FIRST, \
selection.first
#define FIRST_UNIT(selection) "_SUN_SELN_FIRST_UNIT", SELN_REQ_FIRST_UNIT, \
selection.first_unit
#define LAST(selection) "_SUN_SELN_LAST", SELN_REQ_LAST, selection.last
#define LAST_UNIT(selection) "_SUN_SELN_LAST_UNIT", SELN_REQ_LAST_UNIT, \
selection.last_unit
#define LEVEL(selection) "_SUN_SELN_LEVEL", SELN_REQ_LEVEL, \
selection.level
#define FILE_NAME(selection) "FILE_NAME", SELN_REQ_FILE_NAME, \
selection.file_name
#define DELETE(selection) "_SUN_SELN_DELETE", SELN_REQ_DELETE, \
selection.delete
#define RESTORE(selection) "_SUN_SELN_RESTORE", SELN_REQ_RESTORE, \
selection.restore
#define YIELD(selection) "_SUN_SELN_YIELD", SELN_REQ_YIELD, \
selection.yield
#define FAKE_LEVEL(selection) "_SUN_SELN_FAKE_LEVEL", SELN_REQ_FAKE_LEVEL, \
selection.fake_level
#define SET_LEVEL(selection) "_SUN_SELN_SET_LEVEL", SELN_REQ_SET_LEVEL, \
selection.set_level
#define END_REQUEST(selection) "_SUN_SELN_END_REQUEST", SELN_REQ_END_REQUEST, \
selection.end_request
#define TARGETS(selection) "TARGETS", ((Seln_attribute) 0), \
selection.targets
#define MULTIPLE(selection) "MULTIPLE", ((Seln_attribute) 0), \
selection.multiple
#define TIMESTAMP(selection) "TIMESTAMP", ((Seln_attribute) 0), \
selection.timestamp
#define DO_FUNCTION(selection) "_SUN_SELN_DO_FUNCTION", ((Seln_attribute) 0), \
selection.do_function
#define STRING(selection) "STRING", SELN_REQ_CONTENTS_ASCII, \
selection.string
#ifdef OW_I18N
#define COMPOUND_TEXT(selection) "COMPOUND_TEXT", SELN_REQ_CONTENTS_CT, \
selection.compound_text
#define LENGTH_CHARS(selection) "LENGTH_CHARS", SELN_REQ_CHARSIZE, \
selection.length_chars
#define FIRST_WC(selection) "_SUN_SELN_FIRST_WC", SELN_REQ_FIRST_WC, \
selection.first_wc
#define LAST_WC(selection) "_SUN_SELN_LAST_WC", SELN_REQ_LAST_WC, \
selection.last_wc
#endif /* OW_I18N */
#define IS_READONLY(selection) "_SUN_SELN_IS_READONLY", SELN_REQ_IS_READONLY, \
selection.is_readonly
#define OBJECT_SIZE(selection) "_SUN_SELN_OBJECT_SIZE", SELN_REQ_OBJECT_SIZE, \
selection.object_size
#define CONTENTS_PIECES(selection) "_SUN_SELN_CONTENTS_PIECES", \
SELN_REQ_CONTENTS_PIECES, selection.contents_pieces
#define COMMIT_PENDING_DELETE(selection) "_SUN_SELN_COMMIT_PENDING_DELETE", \
SELN_REQ_COMMIT_PENDING_DELETE, selection.commit_pending_delete
#define SELECTED_WINDOWS(selection) "_SUN_SELN_SELECTED_WINDOWS", \
SELN_REQ_SELECTED_WINDOWS, selection.selected_windows
#define CONTENTS_OBJECT(selection) "_SUN_SELN_CONTENTS_OBJECT", \
SELN_REQ_CONTENTS_OBJECT, selection.object_content
#define FUNC_KEY_STATE(selection) "_SUN_SELN_FUNC_KEY_STATE", \
SELN_REQ_FUNC_KEY_STATE, selection.func_key_state
#define NUM_OF_TARGETS 22
#define SELN_REPORT(event) seln_report_event(0, event)
/* routines to manipulate the function-key state */
Pkg_private Seln_result seln_get_reply_buffer();
Pkg_private Seln_result seln_send_yield();
Pkg_private void seln_init_reply();
Pkg_private Seln_rank selection_to_rank();
Pkg_private Atom seln_rank_to_selection();
Pkg_private void selection_agent_get_holder();
Pkg_private int seln_equal_agent();
Pkg_private Xv_opaque seln_agent_client();
#endif
|