From e5875001247e6a6ac4f474157a51a8c54f94ae49 Mon Sep 17 00:00:00 2001
From: Hans Bolinder The
This function reads a timestamp into the memory pointed to by +
This function reads a timestamp into the memory pointed to by
the parameter
The return value is 0 unless the
ERL_DRV_USE was added in OTP release R13. Old drivers will still work
as before. But it is recommended to update them to use
The return value is 0 (failure, -1, only if the
This function removes a driver entry
Driver entries added by the
Driver entries added by the
Term type Argument(s) =========================================== -ERL_DRV_NIL +ERL_DRV_NIL ERL_DRV_ATOM ErlDrvTermData atom (from driver_mk_atom(char *string)) ERL_DRV_INT ErlDrvSInt integer ERL_DRV_UINT ErlDrvUInt integer @@ -1779,11 +1779,11 @@ ERL_DRV_EXT2TERM char *buf, ErlDrvUInt len signed integer data typeErlDrvSInt are 64 bits wide on a 64 bit runtime system and 32 bits wide on a 32 bit runtime system. They were introduced in erts version 5.6, - and replaced some of theint arguments in the list above. + and replaced some of theint arguments in the list above.The unsigned integer data type
ErlDrvUInt64 and the signed integer data typeErlDrvSInt64 are always 64 bits - wide. They were introduced in erts version 5.7.4. + wide. They were introduced in erts version 5.7.4.To build the tuple
{tcp, Port, [100 | Binary]} , the @@ -1879,7 +1879,7 @@ ERL_DRV_EXT2TERM char *buf, ErlDrvUInt lenSend term data from driver to port owner -
driver_output_term() is deferred and will +@@ -1937,7 +1937,7 @@ ERL_DRV_EXT2TERM char *buf, ErlDrvUInt len
driver_output_term() is deprecated and will be removed in the OTP-R17 release. Useerl_drv_output_term() instead.Send term data to other process than port owner process @@ -2076,7 +2076,7 @@ ERL_DRV_EXT2TERM char *buf, ErlDrvUInt len -
driver_send_term() is deferred and will +@@ -1998,7 +1998,7 @@ ERL_DRV_EXT2TERM char *buf, ErlDrvUInt len The data should be freed in
driver_send_term() is deprecated and will be removed in the OTP-R17 release. Useerl_drv_send_term() instead.async_free , because it's called ifdriver_async_cancel is called.When the async operation is done,
ready_async driver - entry function is called. Ifasync_ready is null in + entry function is called. Ifready_async is null in the driver entry, theasync_free function is called instead.The return value is a handle to the asynchronous task, which @@ -2035,7 +2035,7 @@ ERL_DRV_EXT2TERM char *buf, ErlDrvUInt len as of OTP-R15B
-driver_async_cancel() is deprecated, and scheduled for removal in OTP-R16. It will currently always fail, and return 0.
driver_async_cancel() is deferred and will +@@ -2048,7 +2048,7 @@ ERL_DRV_EXT2TERM char *buf, ErlDrvUInt len
driver_async_cancel() is deprecated and will be removed in the OTP-R16 release.This function locks the driver used by the port
port in memory for the rest of the emulator process' - lifetime. After this call, the driver behaves as one of Erlang's + lifetime. After this call, the driver behaves as one of Erlang's statically linked in drivers.driver_entry ).
This function compares two thread identifiers for equality,
- and returns
A Thread identifier may be reused very quickly after a thread has terminated. Therefore, if a thread @@ -2469,7 +2469,7 @@ ERL_DRV_EXT2TERM char *buf, ErlDrvUInt len
This function broadcasts on a condition variable. That is, if other threads are waiting on the condition variable being - broadcasted on, all of them will be woken. + broadcast on, all of them will be woken.
This function is thread-safe.
@@ -2498,7 +2498,7 @@ ERL_DRV_EXT2TERM char *buf, ErlDrvUInt len the calling thread when calling this function.This function retrieves the value of an environment variable. @@ -2900,4 +2900,3 @@ ERL_DRV_EXT2TERM char *buf, ErlDrvUInt len Guide Ch. 3)
- -- cgit v1.2.3 From 6d1f1d43aa0a9e0a2cb275ef760339c49518fc69 Mon Sep 17 00:00:00 2001 From: Patrik Nyblom
@@ -2021,6 +2021,24 @@ ERL_DRV_EXT2TERM char *buf, ErlDrvUInt len
This function calculates a key for later use in
Before OTP-R16, the actual port id could be used as a key + with proper casting, but after the rewrite of the port + subsystem, this is no longer the case. With this function, you + can achieve the same distribution based on port id's as before + OTP-R16.
+Arguments:
++ Returns a pointer to the name of the condition. +
+This function is intended for debugging purposes only.
+Arguments:
++ Returns a pointer to the name of the mutex. +
+This function is intended for debugging purposes only.
+Arguments:
++ Returns a pointer to the name of the r/w-lock. +
+This function is intended for debugging purposes only.
+Arguments:
++ Returns a pointer to the name of the thread. +
+This function is intended for debugging purposes only.
+When the async operation is done,
The return value is a handle to the asynchronous task, which
- can be used as argument to
The return value is a handle to the asynchronous task.
As of erts version 5.5.4.3 the default stack size for threads in the async-thread pool is 16 kilowords, @@ -2039,26 +2037,6 @@ ERL_DRV_EXT2TERM char *buf, ErlDrvUInt len
This function used to cancel a scheduled asynchronous operation, - if it was still in the queue. It returned 1 if it succeeded, and - 0 if it failed.
-Since it could not guarantee success, it was more or less useless.
- The user had to implement synchronization of cancellation anyway.
- It also unnecessarily complicated the implementation. Therefore,
- as of OTP-R15B
Tuple and lists (with the exception of strings, see below), +
Tuples, maps and lists (with the exception of strings, see below), are built in reverse polish notation, so that to build a tuple, the elements are given first, and then the tuple - term, with a count. Likewise for lists.
+ term, with a count. Likewise for lists and maps.A tuple must be specified with the number of elements. (The
elements precede the
A list must be specified with the number of elements,
including the tail, which is the last term preceding
A map must be specified with the number of key-value pairs
The special term
The unsigned integer data type
To build the map
+
+
If you want to pass a binary and don't already have the content
of the binary in an
The
The
Some OS (Windows) do not differentiate between read and write events. +
Some OS (Windows and Enea OSE) do not differentiate between read and write events.
The call-back for a fired event then only depends on the value of
The emulator will refuse to load a driver that does not use
the extended driver interface,
to allow for 64-bit capable drivers,
--
cgit v1.2.3
From 12d3d25535225934cb2190c82c1b5dae005f1cda Mon Sep 17 00:00:00 2001
From: Sverker Eriksson
The return value is a handle to the asynchronous task.
+The return value is -1 if the
As of erts version 5.5.4.3 the default stack size for
threads in the async-thread pool is 16 kilowords,
--
cgit v1.2.3
From 738c34d4bb8f1a3811acd00af8c6c12107f8315b Mon Sep 17 00:00:00 2001
From: Bruce Yinhe
The
The
Some OS (Windows and Enea OSE) do not differentiate between read and write events. +
Some OS (Windows) do not differentiate between read and write events.
The call-back for a fired event then only depends on the value of
A POSIX thread like API for multi-threading is provided. The
Erlang driver thread API only provide a subset of the functionality
@@ -297,7 +297,7 @@
A driver can add and later remove drivers. A driver can monitor a process that does not own a port. Version management is enabled for drivers that have set the
Rewrite driver callback
-
Rewrite driver callback
-
Driver callback
-
Driver callback
-
Driver callback
- Arguments:
+ When this function is called the initiating erlang:open_port call is
+ returned as if the Arguments:
+ Set the os_pid seen when doing erlang:port_info/2 on this port.
+ Support for time measurement in drivers:
+ A signed 64-bit integer type for representation of time. An enumeration of time units supported by the driver API: Seconds Milliseconds Microseconds Nanoseconds This function is deprecated! Do not use it!
+ Use the documented
+ This function reads a timestamp into the memory pointed to by
the parameter Arguments:
+ Returns
+ Returns See also: Arguments: Returns the current time offset between
+ Returns See also: Arguments: Converts the Returns See also: This function is deprecated! Do not use it!
- Use the documented
- This function reads a timestamp into the memory pointed to by
the parameter Support for time measurement in drivers:
+ Support for time measurement in drivers:
+
+
+
+
+
+
+