/usr/share/zproject/czmq/zproc.api is in libczmq-dev 4.1.0-2.
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 | <class name = "zproc" state = "draft">
<!--
Copyright (c) the Contributors as noted in the AUTHORS file.
This file is part of CZMQ, the high-level C binding for 0MQ:
http://czmq.zeromq.org.
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
process configuration and status
<constructor>
Create a new zproc.
NOTE: On Windows and with libzmq3 and libzmq2 this function
returns NULL. Code needs to be ported there.
</constructor>
<destructor>
Destroy zproc, wait until process ends.
</destructor>
<method name = "set args" >
Setup the command line arguments, the first item must be an (absolute) filename
to run.
<argument name = "args" type = "zlistx" />
</method>
<method name = "set env" >
Setup the environment variables for the process.
<argument name = "args" type = "zhashx" />
</method>
<method name = "set stdin" >
Connects process stdin with a readable ('>', connect) zeromq socket. If
socket argument is NULL, zproc creates own managed pair of inproc
sockets. The writable one is then accessbile via zproc_stdin method.
<argument name = "socket" type = "anything" />
</method>
<method name = "set stdout" >
Connects process stdout with a writable ('@', bind) zeromq socket. If
socket argument is NULL, zproc creates own managed pair of inproc
sockets. The readable one is then accessbile via zproc_stdout method.
<argument name = "socket" type = "anything" />
</method>
<method name = "set stderr" >
Connects process stderr with a writable ('@', bind) zeromq socket. If
socket argument is NULL, zproc creates own managed pair of inproc
sockets. The readable one is then accessbile via zproc_stderr method.
<argument name = "socket" type = "anything" />
</method>
<method name = "stdin">
Return subprocess stdin writable socket. NULL for
not initialized or external sockets.
<return type="anything" />
</method>
<method name = "stdout">
Return subprocess stdout readable socket. NULL for
not initialized or external sockets.
<return type="anything" />
</method>
<method name = "stderr">
Return subprocess stderr readable socket. NULL for
not initialized or external sockets.
<return type="anything" />
</method>
<method name = "run" >
Starts the process.
<return type = "integer" />
</method>
<method name = "returncode">
process exit code
<return type="integer" />
</method>
<method name = "pid">
PID of the process
<return type="integer" />
</method>
<method name = "running">
return true if process is running, false if not yet started or finished
<return type="boolean" />
</method>
<method name = "wait">
wait or poll process status, return return code
<argument name = "hang" type = "boolean" />
<return type="integer" />
</method>
<method name = "actor">
return internal actor, usefull for the polling if process died
<return type="anything" />
</method>
<method name = "kill">
send a signal to the subprocess
<argument name = "signal" type = "integer" />
</method>
<method name = "set verbose">
set verbose mode
<argument name = "verbose" type = "boolean" />
</method>
<!--
TODO: cannot express such method in zproto API model!!
// run the subprocess
CZMQ_EXPORT int
zsubproc_run (zsubproc_t *self, const char *filename, char *const argv[], char *const envp[]);
-->
<method name = "czmq version" singleton = "1">
Returns CZMQ version as a single 6-digit integer encoding the major
version (x 10000), the minor version (x 100) and the patch.
<return type = "integer" />
</method>
<method name = "interrupted" singleton = "1">
Returns true if the process received a SIGINT or SIGTERM signal.
It is good practice to use this method to exit any infinite loop
processing messages.
<return type = "boolean" />
</method>
<method name = "has curve" singleton = "1">
Returns true if the underlying libzmq supports CURVE security.
<return type = "boolean" />
</method>
<method name = "hostname" singleton = "1">
Return current host name, for use in public tcp:// endpoints.
If the host name is not resolvable, returns NULL.
<return type = "string" fresh = "1" />
</method>
<method name = "daemonize" singleton = "1">
Move the current process into the background. The precise effect
depends on the operating system. On POSIX boxes, moves to a specified
working directory (if specified), closes all file handles, reopens
stdin, stdout, and stderr to the null device, and sets the process to
ignore SIGHUP. On Windows, does nothing. Returns 0 if OK, -1 if there
was an error.
<argument name = "workdir" type = "string" />
</method>
<method name = "run as" singleton = "1">
Drop the process ID into the lockfile, with exclusive lock, and
switch the process to the specified group and/or user. Any of the
arguments may be null, indicating a no-op. Returns 0 on success,
-1 on failure. Note if you combine this with zsys_daemonize, run
after, not before that method, or the lockfile will hold the wrong
process ID.
<argument name = "lockfile" type = "string" />
<argument name = "group" type = "string" />
<argument name = "user" type = "string" />
</method>
<method name = "set io threads" singleton = "1">
Configure the number of I/O threads that ZeroMQ will use. A good
rule of thumb is one thread per gigabit of traffic in or out. The
default is 1, sufficient for most applications. If the environment
variable ZSYS_IO_THREADS is defined, that provides the default.
Note that this method is valid only before any socket is created.
<argument name = "io_threads" type = "size" />
</method>
<method name = "set max sockets" singleton = "1">
Configure the number of sockets that ZeroMQ will allow. The default
is 1024. The actual limit depends on the system, and you can query it
by using zsys_socket_limit (). A value of zero means "maximum".
Note that this method is valid only before any socket is created.
<argument name = "max_sockets" type = "size" />
</method>
<method name = "set biface" singleton = "1">
Set network interface name to use for broadcasts, particularly zbeacon.
This lets the interface be configured for test environments where required.
For example, on Mac OS X, zbeacon cannot bind to 255.255.255.255 which is
the default when there is no specified interface. If the environment
variable ZSYS_INTERFACE is set, use that as the default interface name.
Setting the interface to "*" means "use all available interfaces".
<argument name = "value" type = "string" />
</method>
<method name = "biface" singleton = "1">
Return network interface to use for broadcasts, or "" if none was set.
<return type = "string" />
</method>
<method name = "set log ident" singleton = "1">
Set log identity, which is a string that prefixes all log messages sent
by this process. The log identity defaults to the environment variable
ZSYS_LOGIDENT, if that is set.
<argument name = "value" type = "string" />
</method>
<method name = "set log sender" singleton = "1">
Sends log output to a PUB socket bound to the specified endpoint. To
collect such log output, create a SUB socket, subscribe to the traffic
you care about, and connect to the endpoint. Log traffic is sent as a
single string frame, in the same format as when sent to stdout. The
log system supports a single sender; multiple calls to this method will
bind the same sender to multiple endpoints. To disable the sender, call
this method with a null argument.
<argument name = "endpoint" type = "string" />
</method>
<method name = "set log system" singleton = "1">
Enable or disable logging to the system facility (syslog on POSIX boxes,
event log on Windows). By default this is disabled.
<argument name = "logsystem" type = "boolean" />
</method>
<method name = "log error" singleton = "1">
Log error condition - highest priority
<argument name = "format" type = "format" />
</method>
<method name = "log warning" singleton = "1">
Log warning condition - high priority
<argument name = "format" type = "format" />
</method>
<method name = "log notice" singleton = "1">
Log normal, but significant, condition - normal priority
<argument name = "format" type = "format" />
</method>
<method name = "log info" singleton = "1">
Log informational message - low priority
<argument name = "format" type = "format" />
</method>
<method name = "log debug" singleton = "1">
Log debug-level message - lowest priority
<argument name = "format" type = "format" />
</method>
</class>
|