aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2014-05-22 22:49:57 +0200
committerMattias Andrée <maandree@operamail.com>2014-05-22 22:49:57 +0200
commit46d1ed733f99a6058b6117b0fa3c79b6f329caae (patch)
treecbffe9128f32263ba8a0da5340d6eb3dbde20648 /src/lib
parentlibrary linking and some of gamma-linux-drm (diff)
downloadlibgamma-46d1ed733f99a6058b6117b0fa3c79b6f329caae.tar.gz
libgamma-46d1ed733f99a6058b6117b0fa3c79b6f329caae.tar.bz2
libgamma-46d1ed733f99a6058b6117b0fa3c79b6f329caae.tar.xz
m misc + most of the gamma-linux-drm stuff
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to '')
-rw-r--r--src/libgamma-error.c35
-rw-r--r--src/libgamma-error.h46
2 files changed, 81 insertions, 0 deletions
diff --git a/src/libgamma-error.c b/src/libgamma-error.c
new file mode 100644
index 0000000..cd63282
--- /dev/null
+++ b/src/libgamma-error.c
@@ -0,0 +1,35 @@
+/**
+ * libgamma — Display server abstraction layer for gamma ramp adjustments
+ * 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/>.
+ */
+#include "libgamma-error.h"
+
+
+#include <stddef.h>
+#include <sys/types.h>
+
+
+/**
+ * Group that the user needs to be a member of if `LIBGAMMA_DEVICE_REQUIRE_GROUP` is returned
+ */
+gid_t libgamma_group_gid = 0;
+
+/**
+ * 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
+ */
+const char* libgamma_group_name = NULL;
+
diff --git a/src/libgamma-error.h b/src/libgamma-error.h
index c3c3c2f..5223207 100644
--- a/src/libgamma-error.h
+++ b/src/libgamma-error.h
@@ -22,6 +22,20 @@
# error libgamma-error.h should not be included directly, include libgamma.h instead
#endif
+#include <sys/types.h>
+
+
+/**
+ * Group that the user needs to be a member of if `LIBGAMMA_DEVICE_REQUIRE_GROUP` is returned
+ */
+extern gid_t libgamma_group_gid;
+
+/**
+ * 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
+ */
+extern const char* libgamma_group_name;
+
/**
* The selected adjustment method does not exist
@@ -108,6 +122,38 @@
*/
#define LIBGAMMA_LIST_CRTCS_FAILED (-16)
+/**
+ * Failed to acquire mode resources from the adjustment method
+ */
+#define LIBGAMMA_ACQUIRING_MODE_RESOURCES_FAILED (-17)
+
+/**
+ * The adjustment method reported that a negative number of partitions exists in the site
+ */
+#define LIBGAMMA_NEGATIVE_PARTITION_COUNT (-18)
+
+/**
+ * The adjustment method reported that a negative number of CRTC:s exists in the partition
+ */
+#define LIBGAMMA_NEGATIVE_CRTC_COUNT (-19)
+
+/**
+ * Device cannot be access becauses of insufficient permissions
+ */
+#define LIBGAMMA_DEVICE_RESTRICTED (-20)
+
+/**
+ * Device cannot be access, reason unknown
+ */
+#define LIBGAMMA_DEVICE_ACCESS_FAILED (-21)
+
+/**
+ * Device cannot be access, membership of the `libgamma_group_gid`
+ * (named by `libgamma_group_name` (can be `NULL`, if so `errno` may
+ * have been set to tell why)) is required
+ */
+#define LIBGAMMA_DEVICE_REQUIRE_GROUP (-22)
+
#endif