亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tkmacsend.c

?? linux系統(tǒng)下的音頻通信
?? C
字號:
/*  * tkMacSend.c -- * *	This file provides procedures that implement the "send" *	command, allowing commands to be passed from interpreter *	to interpreter.  This current implementation for the Mac *	has most functionality stubed out. * * Copyright (c) 1989-1994 The Regents of the University of California. * Copyright (c) 1994-1996 Sun Microsystems, Inc. * * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * * SCCS: @(#) tkMacSend.c 1.7 96/12/03 11:48:27 */#include "tkPort.h"#include "tkInt.h"     /*       * The following structure is used to keep track of the      * interpreters registered by this process.      */typedef struct RegisteredInterp {    char *name;			/* Interpreter's name (malloc-ed). */    Tcl_Interp *interp;		/* Interpreter associated with				 * name. */    TkWindow *winPtr;		/* Main window for the application. */    struct RegisteredInterp *nextPtr;    /* Next in list of names associated     * with interps in this process.     * NULL means end of list. */} RegisteredInterp;static RegisteredInterp *registry = NULL;/* List of all interpreters * registered by this process. *//* * A registry of all interpreters for a display is kept in a * property "InterpRegistry" on the root window of the display. * It is organized as a series of zero or more concatenated strings * (in no particular order), each of the form * 	window space name '\0' * where "window" is the hex id of the comm. window to use to talk * to an interpreter named "name". * * When the registry is being manipulated by an application (e.g. to * add or remove an entry), it is loaded into memory using a structure * of the following type: */typedef struct NameRegistry {    TkDisplay *dispPtr;		/* Display from which the registry was				 * read. */    int locked;			/* Non-zero means that the display was				 * locked when the property was read in. */    int modified;		/* Non-zero means that the property has				 * been modified, so it needs to be written				 * out when the NameRegistry is closed. */    unsigned long propLength;	/* Length of the property, in bytes. */    char *property;		/* The contents of the property.  See format				 * above;  this is *not* terminated by the				 * first null character.  Dynamically				 * allocated. */    int allocedByX;		/* Non-zero means must free property with				 * XFree;  zero means use ckfree. */} NameRegistry;     /*      * When a result is being awaited from a sent command, one of      * the following structures is present on a list of all outstanding      * sent commands.  The information in the structure is used to      * process the result when it arrives.  You're probably wondering      * how there could ever be multiple outstanding sent commands.      * This could happen if interpreters invoke each other recursively.      * It's unlikely, but possible.      */typedef struct PendingCommand {    int serial;			/* Serial number expected in				 * result. */    TkDisplay *dispPtr;		/* Display being used for communication. */    char *target;		/* Name of interpreter command is				 * being sent to. */    Window commWindow;		/* Target's communication window. */    Tk_TimerToken timeout;	/* Token for timer handler used to check				 * up on target during long sends. */    Tcl_Interp *interp;		/* Interpreter from which the send				 * was invoked. */    int code;			/* Tcl return code for command				 * will be stored here. */    char *result;		/* String result for command (malloc'ed),				 * or NULL. */    char *errorInfo;		/* Information for "errorInfo" variable,				 * or NULL (malloc'ed). */    char *errorCode;		/* Information for "errorCode" variable,				 * or NULL (malloc'ed). */    int gotResponse;		/* 1 means a response has been received,				 * 0 means the command is still outstanding. */    struct PendingCommand *nextPtr;       /* Next in list of all outstanding	* commands.  NULL means end of	* list. */} PendingCommand;static PendingCommand *pendingCommands = NULL;/* List of all commands currently * being waited for. */     /*      * The information below is used for communication between processes      * during "send" commands.  Each process keeps a private window, never      * even mapped, with one property, "Comm".  When a command is sent to      * an interpreter, the command is appended to the comm property of the      * communication window associated with the interp's process.  Similarly,      * when a result is returned from a sent command, it is also appended      * to the comm property.      *      * Each command and each result takes the form of ASCII text.  For a      * command, the text consists of a zero character followed by several      * null-terminated ASCII strings.  The first string consists of the      * single letter "c".  Subsequent strings have the form "option value"      * where the following options are supported:      *      * -r commWindow serial      *      *	This option means that a response should be sent to the window      *	whose X identifier is "commWindow" (in hex), and the response should      *	be identified with the serial number given by "serial" (in decimal).      *	If this option isn't specified then the send is asynchronous and      *	no response is sent.      *      * -n name      *	"Name" gives the name of the application for which the command is      *	intended.  This option must be present.      *      * -s script      *      *	"Script" is the script to be executed.  This option must be present.      *      * The options may appear in any order.  The -n and -s options must be      * present, but -r may be omitted for asynchronous RPCs.  For compatibility      * with future releases that may add new features, there may be additional      * options present;  as long as they start with a "-" character, they will      * be ignored.      *      * A result also consists of a zero character followed by several null-      * terminated ASCII strings.  The first string consists of the single      * letter "r".  Subsequent strings have the form "option value" where      * the following options are supported:      *      * -s serial      *      *	Identifies the command for which this is the result.  It is the      *	same as the "serial" field from the -s option in the command.  This      *	option must be present.      *      * -c code      *      *	"Code" is the completion code for the script, in decimal.  If the      *	code is omitted it defaults to TCL_OK.      *      * -r result      *      *	"Result" is the result string for the script, which may be either      *	a result or an error message.  If this field is omitted then it      *	defaults to an empty string.      *      * -i errorInfo      *      *	"ErrorInfo" gives a string with which to initialize the errorInfo      *	variable.  This option may be omitted;  it is ignored unless the      *	completion code is TCL_ERROR.      *      * -e errorCode      *      *	"ErrorCode" gives a string with with to initialize the errorCode      *	variable.  This option may be omitted;  it is ignored  unless the      *	completion code is TCL_ERROR.      *      * Options may appear in any order, and only the -s option must be      * present.  As with commands, there may be additional options besides      * these;  unknown options are ignored.      */     /*      * The following variable is the serial number that was used in the      * last "send" command.  It is exported only for testing purposes.      */int tkSendSerial = 0;     /*      * Maximum size property that can be read at one time by      * this module:      */#define MAX_PROP_WORDS 100000/* * Forward declarations for procedures defined later in this file: */static int		AppendErrorProc _ANSI_ARGS_((ClientData clientData,				XErrorEvent *errorPtr));static void		AppendPropCarefully _ANSI_ARGS_((Display *display,				 Window window, Atom property, char *value,				 int length, PendingCommand *pendingPtr));static void		DeleteProc _ANSI_ARGS_((ClientData clientData));static void		RegAddName _ANSI_ARGS_((NameRegistry *regPtr,				char *name, Window commWindow));static void		RegClose _ANSI_ARGS_((NameRegistry *regPtr));static void		RegDeleteName _ANSI_ARGS_((NameRegistry *regPtr,	      		        char *name));static Window		RegFindName _ANSI_ARGS_((NameRegistry *regPtr,				char *name));static NameRegistry *	RegOpen _ANSI_ARGS_((Tcl_Interp *interp,			     TkWindow *winPtr, int lock));static void		SendEventProc _ANSI_ARGS_((ClientData clientData,							   XEvent *eventPtr));static int		SendInit _ANSI_ARGS_((Tcl_Interp *interp,			      TkWindow *winPtr));static Bool		SendRestrictProc _ANSI_ARGS_((Display *display,			      XEvent *eventPtr, char *arg));static int		ServerSecure _ANSI_ARGS_((TkDisplay *dispPtr));static void		TimeoutProc _ANSI_ARGS_((ClientData clientData));static int		ValidateName _ANSI_ARGS_((TkDisplay *dispPtr,			     char *name, Window commWindow, int oldOK));/* *-------------------------------------------------------------- * * Tk_SetAppName -- * *	This procedure is called to associate an ASCII name with a Tk *	application.  If the application has already been named, the *	name replaces the old one. * * Results: *	The return value is the name actually given to the application. *	This will normally be the same as name, but if name was already *	in use for an application then a name of the form "name #2" will *	be chosen,  with a high enough number to make the name unique. * * Side effects: *	Registration info is saved, thereby allowing the "send" command *	to be used later to invoke commands in the application.  In *	addition, the "send" command is created in the application's *	interpreter.  The registration will be removed automatically *	if the interpreter is deleted or the "send" command is removed. * *-------------------------------------------------------------- */char *Tk_SetAppName(    Tk_Window tkwin,		/* Token for any window in the application				 * to be named:  it is just used to identify				 * the application and the display.  */    char *name)			/* The name that will be used to				 * refer to the interpreter in later				 * "send" commands.  Must be globally				 * unique. */{    return name;}/* *-------------------------------------------------------------- * * Tk_SendCmd -- * *	This procedure is invoked to process the "send" Tcl command. *	See the user documentation for details on what it does. * * Results: *	A standard Tcl result. * * Side effects: *	See the user documentation. * *-------------------------------------------------------------- */intTk_SendCmd(    ClientData clientData,		/* Information about sender (only					 * dispPtr field is used). */    Tcl_Interp *interp,			/* Current interpreter. */    int argc,				/* Number of arguments. */    char **argv)			/* Argument strings. */{    Tcl_SetResult(interp, "Send not yet implemented", TCL_STATIC);    return TCL_ERROR;}/* *---------------------------------------------------------------------- * * TkGetInterpNames -- * *	This procedure is invoked to fetch a list of all the *	interpreter names currently registered for the display *	of a particular window. * * Results: *	A standard Tcl return value.  Interp->result will be set *	to hold a list of all the interpreter names defined for *	tkwin's display.  If an error occurs, then TCL_ERROR *	is returned and interp->result will hold an error message. * * Side effects: *	None. * *---------------------------------------------------------------------- */intTkGetInterpNames(    Tcl_Interp *interp,		/* Interpreter for returning a result. */    Tk_Window tkwin)		/* Window whose display is to be used				 * for the lookup. */{    Tcl_SetResult(interp, "Send not yet implemented", TCL_STATIC);    return TCL_ERROR;}/* *-------------------------------------------------------------- * * SendInit -- * *	This procedure is called to initialize the *	communication channels for sending commands and *	receiving results. * * Results: *	None. * * Side effects: *	Sets up various data structures and windows. * *-------------------------------------------------------------- */static intSendInit(    Tcl_Interp *interp,		/* Interpreter to use for error reporting				 * (no errors are ever returned, but the				 * interpreter is needed anyway). */    TkWindow *winPtr)		/* Window that identifies the display to				 * initialize. */{    return TCL_OK;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情资源网| 一区二区三区在线视频免费| 欧美一区二区播放| 欧美三区在线观看| 日本精品裸体写真集在线观看| www.成人在线| 菠萝蜜视频在线观看一区| 国产成a人亚洲精品| 国产一区日韩二区欧美三区| 久久精品久久综合| 国内外成人在线| 极品少妇一区二区| 国产精品主播直播| 国产风韵犹存在线视精品| 国产精品99久| 岛国一区二区在线观看| 高清视频一区二区| 91社区在线播放| 在线欧美日韩国产| 欧美日韩久久久一区| 6080日韩午夜伦伦午夜伦| 欧美一级专区免费大片| 精品理论电影在线观看| 久久久www成人免费无遮挡大片| 国产人久久人人人人爽| 亚洲色图视频免费播放| 亚洲国产日韩一级| 乱一区二区av| 国产成人一区在线| 99久久精品国产一区二区三区| 色婷婷久久久亚洲一区二区三区| 欧美性色综合网| 日韩一区二区电影在线| 国产亚洲婷婷免费| 亚洲色图第一区| 视频一区视频二区中文字幕| 激情综合色播五月| av成人免费在线观看| 欧美色区777第一页| 日韩欧美电影一区| 亚洲欧洲日产国码二区| 亚洲成人综合在线| 国产伦精品一区二区三区视频青涩 | 欧美tickling网站挠脚心| 久久久午夜精品理论片中文字幕| 国产精品高清亚洲| 日日骚欧美日韩| 丁香一区二区三区| 欧美视频第二页| 国产欧美日韩另类视频免费观看| 伊人一区二区三区| 精品一区二区三区免费毛片爱 | 久久久不卡网国产精品二区| 一区二区三区在线视频免费观看| 麻豆国产精品777777在线| 99久久精品国产导航| 欧美一区二区三区在线观看视频| 国产精品嫩草久久久久| 日韩vs国产vs欧美| 波多野结衣中文字幕一区| 日韩一卡二卡三卡四卡| 亚洲精品免费电影| 国产高清在线观看免费不卡| 欧美精品18+| 日韩一区中文字幕| 国产做a爰片久久毛片| 在线观看日韩电影| 欧美极品xxx| 美女mm1313爽爽久久久蜜臀| 色偷偷久久一区二区三区| 欧美成人女星排行榜| 亚洲一区二区三区四区五区黄 | 在线播放国产精品二区一二区四区| 欧美一区二区私人影院日本| 国产在线观看一区二区| 日韩va亚洲va欧美va久久| 99久久综合精品| 久久综合色天天久久综合图片| 亚洲永久精品大片| 成人黄色av网站在线| 日韩欧美国产一区二区三区 | 久久精品噜噜噜成人88aⅴ| 在线精品视频免费播放| 欧美国产在线观看| 精久久久久久久久久久| 制服丝袜亚洲精品中文字幕| 依依成人精品视频| 9i看片成人免费高清| 国产日韩欧美麻豆| 狠狠色综合播放一区二区| 欧美精品在欧美一区二区少妇| 亚洲色图在线视频| a在线欧美一区| 亚洲国产精品ⅴa在线观看| 国产一区二区三区综合| 精品国内二区三区| 日韩va欧美va亚洲va久久| 欧美在线观看视频在线| 亚洲精品免费在线| 日本一区二区三区四区| bt欧美亚洲午夜电影天堂| 久久久久高清精品| 国产在线播放一区| 精品国产乱码久久久久久久| 精品午夜一区二区三区在线观看| 日韩免费看的电影| 蜜桃视频在线一区| 日韩精品一区二区三区老鸭窝| 蜜桃视频第一区免费观看| 日韩精品一区二区在线| 韩国理伦片一区二区三区在线播放| 欧美成人乱码一区二区三区| 久99久精品视频免费观看| 精品国精品自拍自在线| 精品一区二区三区免费视频| 久久久综合网站| 国产福利一区二区| 国产日韩精品一区二区三区| 成人免费视频免费观看| 成人欧美一区二区三区白人| 色综合天天综合给合国产| 亚洲精品视频在线观看免费 | 久久精品视频免费观看| 豆国产96在线|亚洲| 综合婷婷亚洲小说| 欧美性videosxxxxx| 日韩av二区在线播放| 26uuu国产在线精品一区二区| 国产一区二区女| 中文字幕中文在线不卡住| 国产成人午夜片在线观看高清观看| 日韩国产成人精品| 国产成+人+日韩+欧美+亚洲| 中文字幕一区二区三中文字幕| 91视频在线观看| 天天av天天翘天天综合网| 欧美一级生活片| 福利电影一区二区三区| 亚洲欧洲日产国产综合网| 欧美日韩一区中文字幕| 久久成人羞羞网站| 国产精品超碰97尤物18| 欧美日韩三级一区二区| 激情综合色综合久久| 国产精品九色蝌蚪自拍| 欧美日本韩国一区| 国产激情视频一区二区在线观看| 亚洲日本va在线观看| 7777精品伊人久久久大香线蕉的 | 91精品黄色片免费大全| 国模无码大尺度一区二区三区| 亚洲国产精品99久久久久久久久 | 欧美一级黄色录像| 久久久久久亚洲综合影院红桃| 亚洲国产视频a| 欧美精品一区二区三区在线播放| 丁香天五香天堂综合| 亚洲成人av免费| 国产三级一区二区三区| 欧美影院精品一区| 狠狠色综合日日| 亚洲国产一区在线观看| 国产午夜精品久久久久久免费视 | 亚洲婷婷综合色高清在线| 欧美一区二区三区在| av一二三不卡影片| 蜜臀久久99精品久久久久宅男| 亚洲同性同志一二三专区| 精品国产sm最大网站免费看| 在线欧美小视频| 成人亚洲一区二区一| 美女视频免费一区| 亚洲黄一区二区三区| 久久久av毛片精品| 在线观看91精品国产麻豆| 97se亚洲国产综合自在线| 紧缚奴在线一区二区三区| 天天亚洲美女在线视频| 中文字幕在线观看一区二区| 精品国产不卡一区二区三区| 欧美日韩在线亚洲一区蜜芽| 69p69国产精品| 青娱乐精品视频在线| 亚洲成av人片一区二区三区| 国产欧美日韩综合精品一区二区| 欧美高清激情brazzers| 91亚洲国产成人精品一区二三| 国内精品不卡在线| 日韩成人精品在线| 亚洲一区二区三区四区中文字幕| 国产精品夫妻自拍| 国产欧美日韩另类一区| 2021久久国产精品不只是精品| 91精品国产综合久久精品app | 欧美人成免费网站| 在线观看91视频| 91福利社在线观看| 91视频免费看| 色天使色偷偷av一区二区| 99精品久久免费看蜜臀剧情介绍 |