aboutsummaryrefslogtreecommitdiffstats
path: root/libgamma_native_error.posix.pyx
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2022-07-21 14:53:18 +0200
committerMattias Andrée <maandree@kth.se>2022-07-21 14:53:18 +0200
commit3be28b4e8f75190d30e311f0e69da714cac62cc5 (patch)
tree95374a0ac30802f838e0fee1d7c686b66dd26b11 /libgamma_native_error.posix.pyx
parentRemove dist (diff)
downloadpylibgamma-1.1.3.tar.gz
pylibgamma-1.1.3.tar.bz2
pylibgamma-1.1.3.tar.xz
Change license to ISC, change style, improve makefile1.1.3
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to '')
-rw-r--r--libgamma_native_error.posix.pyx (renamed from src/libgamma_native_error.pyx)101
1 files changed, 42 insertions, 59 deletions
diff --git a/src/libgamma_native_error.pyx b/libgamma_native_error.posix.pyx
index 6963a44..0370eb4 100644
--- a/src/libgamma_native_error.pyx
+++ b/libgamma_native_error.posix.pyx
@@ -1,22 +1,5 @@
# -*- python -*-
-'''
-pylibgamma — Python 3 wrapper for libgamma
-Copyright © 2014 Mattias Andrée (maandree@member.fsf.org)
-
-This library is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library. If not, see <http://www.gnu.org/licenses/>.
-'''
-
+# See LICENSE file for copyright and license details.
cimport cython
from posix.unistd cimport gid_t
@@ -27,20 +10,20 @@ cdef extern gid_t libgamma_group_gid_get() nogil
cdef extern void libgamma_group_gid_set(gid_t) nogil
'''
Group that the user needs to be a member of if
-`LIBGAMMA_DEVICE_REQUIRE_GROUP` is returned.
+`LIBGAMMA_DEVICE_REQUIRE_GROUP` is returned
'''
-cdef extern const char* libgamma_group_name_get() nogil
-cdef extern void libgamma_group_name_set(const char*) nogil
+cdef extern const char *libgamma_group_name_get() nogil
+cdef extern void libgamma_group_name_set(const char *) nogil
'''
Group that the user needs to be a member of if
`LIBGAMMA_DEVICE_REQUIRE_GROUP` is returned,
`NULL` if the name of the group `libgamma_group_gid`
-cannot be determined.
+cannot be determined
'''
-cdef extern void libgamma_perror(const char* name, int error_code) nogil
+cdef extern void libgamma_perror(const char *name, int error_code) nogil
'''
Prints an error to stderr in a `perror` fashion,
however this function will not translate the `libgamma`
@@ -55,60 +38,60 @@ the value of `LIBGAMMA_DEVICE_REQUIRE_GROUP` the
required group will be printed with its numerical value
and, if known, its name.
-@param name The text to add at the beginning.
-@param value The error code, may be an `errno` value.
+@param name The text to add at the beginning
+@param value The error code, may be an `errno` value
'''
-cdef extern const char* libgamma_name_of_error(int value) nogil
+cdef extern const char *libgamma_name_of_error(int value) nogil
'''
-Returns the name of the definition associated with a `libgamma` error code.
+Returns the name of the definition associated with a `libgamma` error code
-@param value The error code.
+@param value The error code
@return The name of the definition associated with the error code,
`NULL` if the error code does not exist. The return string
should not be `free`:d.
'''
-cdef extern int libgamma_value_of_error(const char* name) nogil
+cdef extern int libgamma_value_of_error(const char *name) nogil
'''
-Return the value of a `libgamma` error definition refered to by name.
+Return the value of a `libgamma` error definition refered to by name
-@param name The name of the definition associated with the error code.
+@param name The name of the definition associated with the error code
@return The error code, zero if the name does is `NULL`
- or does not refer to a `libgamma` error.
+ or does not refer to a `libgamma` error
'''
-
def libgamma_native_get_group_gid() -> int:
'''
- Getter.
+ Getter
Group that the user needs to be a member of if
- `LIBGAMMA_DEVICE_REQUIRE_GROUP` is returned.
+ `LIBGAMMA_DEVICE_REQUIRE_GROUP` is returned
'''
return int(libgamma_group_gid_get())
+
def libgamma_native_set_group_gid(gid : int):
'''
- Setter.
+ Setter
Group that the user needs to be a member of if
- `LIBGAMMA_DEVICE_REQUIRE_GROUP` is returned.
+ `LIBGAMMA_DEVICE_REQUIRE_GROUP` is returned
'''
libgamma_group_gid_set(<int>gid)
def libgamma_native_get_group_name() -> str:
'''
- Getter.
+ Getter
Group that the user needs to be a member of if
`LIBGAMMA_DEVICE_REQUIRE_GROUP` is returned,
`None` if the name of the group `libgamma_group_gid`
- cannot be determined.
+ cannot be determined
'''
- cdef const char* group_name
+ cdef const char *group_name
cdef bytes bs
group_name = libgamma_group_name_get()
if group_name is NULL:
@@ -116,19 +99,20 @@ def libgamma_native_get_group_name() -> str:
bs = group_name
return bs.decode('utf-8', 'strict')
+
def libgamma_native_set_group_name(name : str):
'''
- Setter.
+ Setter
Group that the user needs to be a member of if
`LIBGAMMA_DEVICE_REQUIRE_GROUP` is returned,
`None` if the name of the group `libgamma_group_gid`
- cannot be determined.
+ cannot be determined
'''
- cdef const char* group_name
+ cdef const char *group_name
cdef bytes bs
if name is None:
- libgamma_group_name_set(<char*>NULL)
+ libgamma_group_name_set(<char *>NULL)
return
bs = name.encode('utf-8') + bytes([0])
group_name = bs
@@ -150,8 +134,8 @@ def libgamma_native_perror(name : str, error_code : int):
required group will be printed with its numerical value
and, if known, its name.
- @param name The text to add at the beginning.
- @param value The error code, may be an `errno` value.
+ @param name The text to add at the beginning
+ @param value The error code, may be an `errno` value
'''
cdef bytes bs
bs = name.encode('utf-8') + bytes([0])
@@ -160,13 +144,13 @@ def libgamma_native_perror(name : str, error_code : int):
def libgamma_native_name_of_error(value : int) -> str:
'''
- Returns the name of the definition associated with a `libgamma` error code.
+ Returns the name of the definition associated with a `libgamma` error code
- @param value The error code.
+ @param value The error code
@return The name of the definition associated with the error code,
- `None` if the error code does not exist.
+ `None` if the error code does not exist
'''
- cdef const char* name
+ cdef const char *name
cdef bytes bs
name = libgamma_name_of_error(<int>value)
if name is NULL:
@@ -177,29 +161,28 @@ def libgamma_native_name_of_error(value : int) -> str:
def libgamma_native_value_of_error(name : str) -> int:
'''
- Return the value of a `libgamma` error definition refered to by name.
+ Return the value of a `libgamma` error definition refered to by name
- @param name The name of the definition associated with the error code.
+ @param name The name of the definition associated with the error code
@return The error code, zero if the name is `None`,
- or does not refer to a `libgamma` error.
+ or does not refer to a `libgamma` error
'''
cdef bytes bs
if name is None:
return 0
bs = name.encode('utf-8') + bytes([0])
return int(libgamma_value_of_error(bs))
-
+
def strerror(error : int) -> str:
'''
- Get a textual description of an error.
+ Get a textual description of an error
- @param error The number of the error.
- @return The description of the error.
+ @param error The number of the error
+ @return The description of the error
'''
- cdef const char* text
+ cdef const char *text
cdef bytes bs
text = c_strerror(<int>error)
bs = text
return bs.decode('utf-8', 'strict')
-