1*78ee8d1cSJulian Grajkowski /* SPDX-License-Identifier: BSD-3-Clause */ 2*78ee8d1cSJulian Grajkowski /* Copyright(c) 2007-2022 Intel Corporation */ 3*78ee8d1cSJulian Grajkowski /** 4*78ee8d1cSJulian Grajkowski ***************************************************************************** 5*78ee8d1cSJulian Grajkowski * @file sal_user_process.c 6*78ee8d1cSJulian Grajkowski * 7*78ee8d1cSJulian Grajkowski * @ingroup SalUserProcess 8*78ee8d1cSJulian Grajkowski * 9*78ee8d1cSJulian Grajkowski * @description 10*78ee8d1cSJulian Grajkowski * This file contains implementation of functions to set/get user process 11*78ee8d1cSJulian Grajkowski * name 12*78ee8d1cSJulian Grajkowski * 13*78ee8d1cSJulian Grajkowski *****************************************************************************/ 14*78ee8d1cSJulian Grajkowski 15*78ee8d1cSJulian Grajkowski #include "qat_utils.h" 16*78ee8d1cSJulian Grajkowski #include "lac_common.h" 17*78ee8d1cSJulian Grajkowski static char lacProcessName[LAC_USER_PROCESS_NAME_MAX_LEN + 1] = 18*78ee8d1cSJulian Grajkowski LAC_KERNEL_PROCESS_NAME; 19*78ee8d1cSJulian Grajkowski 20*78ee8d1cSJulian Grajkowski /**< Process name used to obtain values from correct section of config file. */ 21*78ee8d1cSJulian Grajkowski 22*78ee8d1cSJulian Grajkowski /* 23*78ee8d1cSJulian Grajkowski * @ingroup LacCommon 24*78ee8d1cSJulian Grajkowski * @description 25*78ee8d1cSJulian Grajkowski * This function sets the process name 26*78ee8d1cSJulian Grajkowski * 27*78ee8d1cSJulian Grajkowski * @context 28*78ee8d1cSJulian Grajkowski * This functions is called from module_init or from user space process 29*78ee8d1cSJulian Grajkowski * initialisation function 30*78ee8d1cSJulian Grajkowski * 31*78ee8d1cSJulian Grajkowski * @assumptions 32*78ee8d1cSJulian Grajkowski * None 33*78ee8d1cSJulian Grajkowski * @sideEffects 34*78ee8d1cSJulian Grajkowski * None 35*78ee8d1cSJulian Grajkowski * @reentrant 36*78ee8d1cSJulian Grajkowski * No 37*78ee8d1cSJulian Grajkowski * @threadSafe 38*78ee8d1cSJulian Grajkowski * No 39*78ee8d1cSJulian Grajkowski * 40*78ee8d1cSJulian Grajkowski * param[in] processName Process name to be set 41*78ee8d1cSJulian Grajkowski */ 42*78ee8d1cSJulian Grajkowski CpaStatus icpSetProcessName(const char * processName)43*78ee8d1cSJulian GrajkowskiicpSetProcessName(const char *processName) 44*78ee8d1cSJulian Grajkowski { 45*78ee8d1cSJulian Grajkowski LAC_CHECK_NULL_PARAM(processName); 46*78ee8d1cSJulian Grajkowski 47*78ee8d1cSJulian Grajkowski if (strnlen(processName, LAC_USER_PROCESS_NAME_MAX_LEN) == 48*78ee8d1cSJulian Grajkowski LAC_USER_PROCESS_NAME_MAX_LEN) { 49*78ee8d1cSJulian Grajkowski QAT_UTILS_LOG( 50*78ee8d1cSJulian Grajkowski "Process name too long, maximum process name is %d>\n", 51*78ee8d1cSJulian Grajkowski LAC_USER_PROCESS_NAME_MAX_LEN); 52*78ee8d1cSJulian Grajkowski return CPA_STATUS_FAIL; 53*78ee8d1cSJulian Grajkowski } 54*78ee8d1cSJulian Grajkowski 55*78ee8d1cSJulian Grajkowski strncpy(lacProcessName, processName, LAC_USER_PROCESS_NAME_MAX_LEN); 56*78ee8d1cSJulian Grajkowski lacProcessName[LAC_USER_PROCESS_NAME_MAX_LEN] = '\0'; 57*78ee8d1cSJulian Grajkowski 58*78ee8d1cSJulian Grajkowski return CPA_STATUS_SUCCESS; 59*78ee8d1cSJulian Grajkowski } 60*78ee8d1cSJulian Grajkowski 61*78ee8d1cSJulian Grajkowski /* 62*78ee8d1cSJulian Grajkowski * @ingroup LacCommon 63*78ee8d1cSJulian Grajkowski * @description 64*78ee8d1cSJulian Grajkowski * This function gets the process name 65*78ee8d1cSJulian Grajkowski * 66*78ee8d1cSJulian Grajkowski * @context 67*78ee8d1cSJulian Grajkowski * This functions is called from LAC context 68*78ee8d1cSJulian Grajkowski * 69*78ee8d1cSJulian Grajkowski * @assumptions 70*78ee8d1cSJulian Grajkowski * None 71*78ee8d1cSJulian Grajkowski * @sideEffects 72*78ee8d1cSJulian Grajkowski * None 73*78ee8d1cSJulian Grajkowski * @reentrant 74*78ee8d1cSJulian Grajkowski * No 75*78ee8d1cSJulian Grajkowski * @threadSafe 76*78ee8d1cSJulian Grajkowski * Yes 77*78ee8d1cSJulian Grajkowski * 78*78ee8d1cSJulian Grajkowski */ 79*78ee8d1cSJulian Grajkowski char * icpGetProcessName(void)80*78ee8d1cSJulian GrajkowskiicpGetProcessName(void) 81*78ee8d1cSJulian Grajkowski { 82*78ee8d1cSJulian Grajkowski return lacProcessName; 83*78ee8d1cSJulian Grajkowski } 84