xref: /freebsd-src/sys/dev/qat/qat_api/common/utils/sal_user_process.c (revision 71625ec9ad2a9bc8c09784fbd23b759830e0ee5f)
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 Grajkowski icpSetProcessName(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 Grajkowski icpGetProcessName(void)
81*78ee8d1cSJulian Grajkowski {
82*78ee8d1cSJulian Grajkowski 	return lacProcessName;
83*78ee8d1cSJulian Grajkowski }
84