From patchwork Wed Jan 17 14:39:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 862296 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=googlegroups.com (client-ip=2a00:1450:400c:c09::23c; helo=mail-wm0-x23c.google.com; envelope-from=swupdate+bncbdn7dbh5yqibbqoa7xjakgqe3n2irei@googlegroups.com; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=googlegroups.com header.i=@googlegroups.com header.b="A2lkTGoF"; dkim-atps=neutral Received: from mail-wm0-x23c.google.com (mail-wm0-x23c.google.com [IPv6:2a00:1450:400c:c09::23c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zM8rN0Myxz9s7f for ; Thu, 18 Jan 2018 01:40:03 +1100 (AEDT) Received: by mail-wm0-x23c.google.com with SMTP id b186sf5732592wmf.0 for ; Wed, 17 Jan 2018 06:40:03 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1516200001; cv=pass; d=google.com; s=arc-20160816; b=VtIa5FYaVW9h5CbmBeD5WnjcNFC+EDJAV1WGC9pI7vN9bjJA33ivgqvz9BDOyBa4gH hgR7HoyzjPoQJSOWXpMupXKKZ8kXRTaprfDn89ove1Fo5bpnwnRIy9unOtex32lGQQm3 mpWCK5OmA/U0elFbHsZqGZE0eaRoBvyi/VsM0pfPT2v/bWHoDnL3l8GlJ2obcnh3c+DG EPi1bBQ54y69HpS2lKzAJPRbsJgFVgMG6o/EVU/h3WIWrAa4GgIIXhSR5R/RRsOPyiuX pRaqTTWEs19kFK8EphZ8o8ubNk2UnC5Pb8lQ+o1rx0K2bs4/gQZ1b6k6CjtdkArPx6o8 YSJA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:message-id:date:subject:cc:to:from :arc-authentication-results:arc-message-signature:mime-version :sender:dkim-signature:arc-authentication-results; bh=+uA9/mgfOGvbL9lhU0fsbqhYrGLzBJHK03QL1Tjb1j8=; b=g5ivYgL6mmB+elT/dvClcJOln8wPrxMrg11hrtCTVl0erXB1qTiPM+FeIi1MXrbeVg nPqqVllgqF0wVqk6TrUY4FRHQPM8ra15idFH7BXDn0ah+7VUrs9hgntxXYUZYjfs9AL+ Sjrk04FDGUGEdzcqXDloMPm2kkbYBmezcXDj3Mx/GZl4g4D0bXf38q/wvdZ7LqFMfG6m SiklfGIMw77Ai6HfsVNkfG+jl7jeUUA//cgLdrnQu9WHchdrEA9EfjHB+mGa+aclMKjd 3UY5IQIGQ3VtXt59BUMG7JrGeIlJoWge7aRRgZog8FzhQE/gLFVL6tG92JWCxLlBd41A TvcQ== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=neutral (google.com: 85.13.157.12 is neither permitted nor denied by best guess record for domain of stefan@herbrechtsmeier.net) smtp.mailfrom=stefan@herbrechtsmeier.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20161025; h=sender:mime-version:from:to:cc:subject:date:message-id :x-original-sender:x-original-authentication-results:precedence :mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=+uA9/mgfOGvbL9lhU0fsbqhYrGLzBJHK03QL1Tjb1j8=; b=A2lkTGoF5hAqenkYQSEDceklvFhwbW/XN8ekXbmOtNuCZMC1BwZ6KLJIRQ4K+QHvdC 7sWrnO55QgLGBAqQb6R+8P7A2ydlPUizlluSmRPkdfxOqrHD8Z6Qyj9t1shUfy99qYQ2 W+BRnAgexYflu0uUgx+IDGuzD7MCnVujtOkXtp0tRHXw7zvLdBlGqWwoJY1LzhnYo/RJ c6YDmVJeRQaoxWUQ/7Bsi3xYwWFWPLEigCQKiT4WinBhw7AgsgzzLSeDxTd9iHtNKpHc nyVNsb6eQLBJQsqRMsvLGjDkb88YdAKKDFXbIu5KXx2xCW2P2Jx8oHFgNWRoBFuEe8PX RtgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=sender:x-gm-message-state:mime-version:from:to:cc:subject:date :message-id:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:x-spam-checked-in-group:list-post :list-help:list-archive:list-subscribe:list-unsubscribe; bh=+uA9/mgfOGvbL9lhU0fsbqhYrGLzBJHK03QL1Tjb1j8=; b=iJAjyz5wHjlQ3poFA9aZZ622QqeQ0Xf2fR2KLYo/eVwvcWf1a85gCLj3+M0GKCnI5s SzCxrujoWBqIEo1PbjNY+zQ3CtPPILksRF+MDVwA4me82J4fNWxy05ju2S6sL+zD1hKm U5NruYMkSX77fhaEAj8yTlRNj3NsgxkHVejPtPSc+eI5BAT5j4Q2cCXFGEhKga/swhBz bzaCTwfBeRTcS95kbW9iI2QnvDQxsmAN5ynMbz+ev1LmwjwgS6eC1xvG3qE+qEu58Zgq fS4f8brWqudobbo5Cu/YF3mXX6RPRH5uNo8I2v3uqbjNH0sPL+UU9oip046jgpS5fU4l VjHA== Sender: swupdate@googlegroups.com X-Gm-Message-State: AKwxyte7x/hPMP/oYX73AG5g2yuafX2D6YfGJCbxFMITBSnJ1+eY+nYb 3Va4YtBJn2b7ZWQr5CZBdlk= X-Google-Smtp-Source: ACJfBosxmzX5wKMc1wjV32zG/EV7Ed0Cy9igwTtV8C1bh06byP8UKuJFjtpCi9GYZs35nDyIiMgXow== X-Received: by 10.28.229.194 with SMTP id c185mr35530wmh.3.1516200001270; Wed, 17 Jan 2018 06:40:01 -0800 (PST) MIME-Version: 1.0 X-BeenThere: swupdate@googlegroups.com Received: by 10.28.175.199 with SMTP id y190ls1422662wme.9.canary-gmail; Wed, 17 Jan 2018 06:40:00 -0800 (PST) X-Received: by 10.223.158.142 with SMTP id a14mr326579wrf.31.1516200000624; Wed, 17 Jan 2018 06:40:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516200000; cv=none; d=google.com; s=arc-20160816; b=nsuBdR8VbEP2YHpkwlThpBICV3lEq/+snJCqroDxlo/WmWwVFHNJSaox4tKE3LN/HH Gip5UMOMqmeSf7zckeoVx2YN7lUY7q5NJR7RM3w3D2ekTpWcI+wBSXOhDoKwo4djdTLD N0yNl6d343Vp3glshMq6ctKO8jpTUwtc3X/q0GhpDj4tmZNq9qWhi9UbowUSJ2Fnv+1F T/spMssUZsOJxMBSuP/La0BF+01cZO0NBUBcCaa73jx7zMzpxEwbWxKsb30Ok8Q5tYJv 9wDMZiI1Wfze1d1WjkZwLrVgPoVMO4LCgVwxVRZCwst9D+RJJ34Zii38nzi8xF/8GCGl cXQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:date:subject:cc:to:from:arc-authentication-results; bh=1dMeTewlJv0sUhiNvyeGLcoxARsVshKQX0f8k2J/oXo=; b=ofxiG6DaFT51jKVNrwoZPFTU7BL8bF1PsqojjjJLE1wLD1zKJPa2bHFd3s8lf1xpQf 0HgndwbJcT4Z7itmGiEKuK1cvW2Rf3uc29klX7biPjaZHLjAaTNg+0i60f7sxV88kFis 7ecL9YydLPQMBAs9RP4AljcgFjF6mVt3pWpxKCGiuNjKQ8wQ8LIpQPVuKBGrzYnzZMKV YliE4rtYXqkwqyQz0jOxFuzJTM32CCedAqOxzcpYKVSYDrrG8UpP5jujAzLrLQNtXQBO +RFrlVwjT1NNDqOFswd6LbgdtS6yluPIxeGY5EAmkksg7zseGIGwH+YmfdGOj0nE1t8x Mp6g== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=neutral (google.com: 85.13.157.12 is neither permitted nor denied by best guess record for domain of stefan@herbrechtsmeier.net) smtp.mailfrom=stefan@herbrechtsmeier.net Received: from dd41138.kasserver.com (dd41138.kasserver.com. [85.13.157.12]) by gmr-mx.google.com with ESMTPS id h76si508545wmd.1.2018.01.17.06.40.00 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 17 Jan 2018 06:40:00 -0800 (PST) Received-SPF: neutral (google.com: 85.13.157.12 is neither permitted nor denied by best guess record for domain of stefan@herbrechtsmeier.net) client-ip=85.13.157.12; Received: from WS08941.weidmueller.com (unknown [217.244.7.16]) by dd41138.kasserver.com (Postfix) with ESMTPSA id 39D2111A0698; Wed, 17 Jan 2018 15:40:00 +0100 (CET) From: stefan@herbrechtsmeier.net To: swupdate@googlegroups.com Cc: Stefan Herbrechtsmeier Subject: [swupdate] [PATCH] Lua: Export SWUpdate bootenv get and set functions to Lua scripts Date: Wed, 17 Jan 2018 15:39:56 +0100 Message-Id: <1516199996-5855-1-git-send-email-stefan@herbrechtsmeier.net> X-Mailer: git-send-email 2.7.4 X-Original-Sender: stefan@herbrechtsmeier.net X-Original-Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 85.13.157.12 is neither permitted nor denied by best guess record for domain of stefan@herbrechtsmeier.net) smtp.mailfrom=stefan@herbrechtsmeier.net Precedence: list Mailing-list: list swupdate@googlegroups.com; contact swupdate+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: swupdate@googlegroups.com X-Google-Group-Id: 605343134186 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , From: Stefan Herbrechtsmeier Signed-off-by: Stefan Herbrechtsmeier --- corelib/lua_interface.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/corelib/lua_interface.c b/corelib/lua_interface.c index 25d84e6..f370474 100644 --- a/corelib/lua_interface.c +++ b/corelib/lua_interface.c @@ -16,6 +16,7 @@ #include "lua_util.h" #include "util.h" #include "handler.h" +#include "bootloader.h" #define LUA_TYPE_PEMBSCR 1 #define LUA_TYPE_HANDLER 2 @@ -648,6 +649,35 @@ static int l_info(lua_State *L) { return 0; } +static int l_get_bootenv(lua_State *L) { + const char *name = luaL_checkstring(L, 1); + char *value = NULL; + + if (strlen(name)) + value = bootloader_env_get(name); + lua_pop(L, 1); + + lua_pushstring(L, value); + free(value); + + return 1; +} + +static int l_set_bootenv(lua_State *L) { + const char *name = luaL_checkstring(L, 1); + const char *value = luaL_checkstring(L, 2); + + if (strlen(name)) { + if (strlen(value)) + bootloader_env_set(name, value); + else + bootloader_env_unset(name); + } + lua_pop(L, 2); + + return 0; +} + #ifdef CONFIG_HANDLER_IN_LUA static int l_get_tmpdir(lua_State *L) { @@ -664,6 +694,8 @@ static const luaL_Reg l_swupdate[] = { { "error", l_error }, { "trace", l_trace }, { "info", l_info }, + { "get_bootenv", l_get_bootenv }, + { "set_bootenv", l_set_bootenv }, { NULL, NULL } };