]> Devoid-pointer.net GitWeb - KLGD.git/commitdiff
Add klgd_make_command() function to create commands from already
authorMichal Malý <madcatxster@devoid-pointer.net>
Tue, 26 Aug 2014 18:40:05 +0000 (20:40 +0200)
committerMichal Malý <madcatxster@devoid-pointer.net>
Tue, 26 Aug 2014 18:40:05 +0000 (20:40 +0200)
allocated byte arrays

klgd.c
klgd.h

diff --git a/klgd.c b/klgd.c
index 4586ec2a3f85640250a5da329498c11a9a5b85bc..0f4affa194e7c48350e2331cc82a1bd537fe9b42 100644 (file)
--- a/klgd.c
+++ b/klgd.c
@@ -284,6 +284,18 @@ void klgd_lock_plugins(struct mutex *lock)
 }
 EXPORT_SYMBOL_GPL(klgd_lock_plugins);
 
+struct klgd_command * klgd_make_command(const char * const bytes, const size_t length)
+{
+       struct klgd_command *cmd = kzalloc(sizeof(struct klgd_command), GFP_KERNEL);
+       if (!cmd)
+               return NULL;
+
+       *(char **)(&cmd->bytes) = bytes;
+       cmd->length = length;
+
+       return cmd;
+}
+
 int klgd_register_plugin(struct klgd_main *ctx, size_t idx, struct klgd_plugin *plugin)
 {
        struct klgd_main_private *priv = ctx->private;
diff --git a/klgd.h b/klgd.h
index c2cdb6dd4e4aeb10e1d4247a26e4e986f609e397..b78cf8d76caec9cd9a3643b22818aa378b11f197 100644 (file)
--- a/klgd.h
+++ b/klgd.h
@@ -29,6 +29,7 @@ bool klgd_append_cmd(struct klgd_command_stream *target, const struct klgd_comma
 void klgd_deinit(struct klgd_main *ctx);
 int klgd_init(struct klgd_main *ctx, void *dev_ctx, int (*callback)(void *, const struct klgd_command_stream *), const unsigned long plugin_count);
 void klgd_lock_plugins(struct mutex *lock);
+struct klgd_command * klgd_make_cmd(const char * const bytes);
 int klgd_register_plugin(struct klgd_main *ctx, const size_t idx, struct klgd_plugin *plugin);
 void klgd_unlock_plugins(struct mutex *lock);
 void klgd_unlock_plugins_sched(struct mutex *lock);