Mercurial > hg > xemacs-beta
annotate tests/tooltalk/make-client-frame.c @ 5888:a85efdabe237
Call #'read-passwd when requesting a password from the user, tls.c
src/ChangeLog addition:
2015-04-09 Aidan Kehoe <kehoea@parhasard.net>
* tls.c (nss_pk11_password):
* tls.c (gnutls_pk11_password):
* tls.c (openssl_password):
* tls.c (syms_of_tls):
Our read-a-password function is #'read-passwd, not
#'read-password, correct that in this file.
| author | Aidan Kehoe <kehoea@parhasard.net> |
|---|---|
| date | Thu, 09 Apr 2015 14:54:37 +0100 |
| parents | 9fc91aa3a927 |
| children |
| rev | line source |
|---|---|
|
5408
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
1 /* make-client-frame.c - create a new frame in XEmacs using ToolTalk |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
2 Copyright (C) 1995 Sun Microsystems, Inc |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
3 |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
4 Author: Vladimir Ivanovic <vladimir@Eng.Sun.COM> |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
5 |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
6 This file is part of XEmacs. |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
7 |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
8 XEmacs is free software: you can redistribute it and/or modify it |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
9 under the terms of the GNU General Public License as published by the |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
10 Free Software Foundation, either version 3 of the License, or (at your |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
11 option) any later version. |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
12 |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
13 XEmacs is distributed in the hope that it will be useful, but WITHOUT |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
16 for more details. |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
17 |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
18 You should have received a copy of the GNU General Public License |
|
9fc91aa3a927
Converted tooltalk to GPLv3 according to GPLv3 source survey analysis.
Mats Lidell <matsl@xemacs.org>
parents:
70
diff
changeset
|
19 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */ |
| 70 | 20 |
| 21 /* See `tooltalk-make-client-frame-handler' in the file | |
| 22 lisp/tooltalk/tooltalk-init.el for the receiver side. */ | |
| 23 | |
| 24 #include <desktop/tt_c.h> | |
| 25 #include <stdio.h> | |
| 26 #include <stdlib.h> | |
| 27 #include <sys/wait.h> | |
| 28 | |
| 29 Tt_status tter; | |
| 30 | |
| 31 #define exit_err_ptr(ptr) \ | |
| 32 if ((tter = tt_ptr_error(ptr)) != TT_OK) \ | |
| 33 { fprintf(stderr, "%d:%s\n", __LINE__, tt_status_message(tter)); exit(1); } | |
| 34 | |
| 35 #define exit_err(stat) \ | |
| 36 if ((tter = stat) != TT_OK) \ | |
| 37 { fprintf(stderr, "%d:%s\n", __LINE__, tt_status_message(tter)); exit(1); } | |
| 38 | |
| 39 Tt_callback_action callback_fn(Tt_message msg, Tt_pattern pat); | |
| 40 static Tt_message create_new_message(char *name, int height, int width); | |
| 41 static int initialize_tooltalk(void); | |
| 42 static void usage(void); | |
| 43 | |
| 44 static char* tt_procid; | |
| 45 | |
| 46 Tt_callback_action | |
| 47 callback_fn(Tt_message msg, Tt_pattern pat) | |
| 48 { | |
| 49 tt_message_destroy(msg); | |
| 50 return TT_CALLBACK_PROCESSED; | |
| 51 } | |
| 52 | |
| 53 static Tt_message | |
| 54 create_new_message(char *name, int height, int width) | |
| 55 { | |
| 56 Tt_message msg; | |
| 57 | |
| 58 msg = tt_message_create(); | |
| 59 exit_err_ptr(msg); | |
| 60 | |
| 61 exit_err(tt_message_address_set (msg, TT_PROCEDURE)); | |
| 62 exit_err(tt_message_class_set (msg, TT_REQUEST)); | |
| 63 exit_err(tt_message_scope_set (msg, TT_SESSION)); | |
| 64 exit_err(tt_message_op_set (msg, "emacs-make-client-frame")); | |
| 65 exit_err(tt_message_arg_add (msg, TT_IN, "string", name)); | |
| 66 exit_err(tt_message_iarg_add (msg, TT_IN, "int", height)); | |
| 67 exit_err(tt_message_iarg_add (msg, TT_IN, "int", width)); | |
| 68 exit_err(tt_message_callback_add(msg, callback_fn)); | |
| 69 | |
| 70 return msg; | |
| 71 } | |
| 72 | |
| 73 static int | |
| 74 initialize_tooltalk(void) { | |
| 75 int rcode; | |
| 76 | |
| 77 tt_procid = tt_open(); | |
| 78 if ((rcode = tt_ptr_error(tt_procid)) != TT_OK) { | |
| 79 return rcode; | |
| 80 } | |
| 81 | |
| 82 if ((rcode = tt_session_join(tt_default_session())) != TT_OK) { | |
| 83 return (rcode); | |
| 84 } | |
| 85 } | |
| 86 | |
| 87 | |
| 88 static void | |
| 89 usage(void) | |
| 90 { | |
| 91 fprintf(stderr, | |
| 92 "Usage: make-client-frame name height width\n\n"); | |
| 93 } | |
| 94 | |
| 95 void | |
| 96 main(argc, argv) | |
| 97 int argc; | |
| 98 char *argv[]; | |
| 99 { | |
| 100 | |
| 101 Tt_message msg; | |
| 102 | |
| 103 if (argc != 4) { | |
| 104 usage(); | |
| 105 exit(0); | |
| 106 } | |
| 107 | |
| 108 exit_err(initialize_tooltalk()); | |
| 109 | |
| 110 msg = create_new_message(argv[1], atoi(argv[2]), atoi(argv[3])); | |
| 111 | |
| 112 exit_err(tt_message_send(msg)); | |
| 113 | |
| 114 return; | |
| 115 } |
