rmnet_mem_nl.c 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
  2. * SPDX-License-Identifier: GPL-2.0-only
  3. */
  4. #include "rmnet_mem_nl.h"
  5. #include "rmnet_mem_priv.h"
  6. #define DATARMNETb005a78b72 "\x52\x4d\x4e\x45\x54\x5f\x4d\x45\x4d"
  7. #define DATARMNET39e021cd6f (0xd26+209-0xdf6)
  8. enum{DATARMNET5277047270,DATARMNET654ec9d727,DATARMNET579b73b6a1,
  9. DATARMNET99bbc5ae70,};
  10. #define DATARMNETb2539ccff0 (DATARMNETc820b7a9dc - (0xd26+209-0xdf6))
  11. uint32_t DATARMNET7c4038843f;static struct nla_policy DATARMNET93ad46699e[
  12. DATARMNETb2539ccff0+(0xd26+209-0xdf6)]={[DATARMNETe5184c7a76]=
  13. NLA_POLICY_EXACT_LEN(sizeof(struct DATARMNET5d6175c98d)),[DATARMNETb0428b7575]=
  14. NLA_POLICY_EXACT_LEN(sizeof(struct DATARMNET5d23779a8f)),};static const struct
  15. genl_ops DATARMNETb68b0ed922[]={{.cmd=DATARMNET654ec9d727,.doit=
  16. DATARMNET291f036d31,},{.cmd=DATARMNET579b73b6a1,.doit=DATARMNET8e48a951e4,},};
  17. struct genl_family DATARMNET595b5c3a9e __ro_after_init={.hdrsize=
  18. (0xd2d+202-0xdf7),.name=DATARMNETb005a78b72,.version=DATARMNET39e021cd6f,.
  19. maxattr=DATARMNETb2539ccff0,.policy=DATARMNET93ad46699e,.ops=DATARMNETb68b0ed922
  20. ,.n_ops=ARRAY_SIZE(DATARMNETb68b0ed922),};int DATARMNETe85d734d4f(int val,struct
  21. genl_info*DATARMNET54338da2ff){struct sk_buff*skb;void*msg_head;int rc;skb=
  22. genlmsg_new(NLMSG_GOODSIZE,GFP_ATOMIC);if(skb==NULL)goto DATARMNETbf4095f79e;
  23. msg_head=genlmsg_put(skb,(0xd2d+202-0xdf7),(0xd2d+202-0xdf7),&
  24. DATARMNET595b5c3a9e,(0xd2d+202-0xdf7),DATARMNET654ec9d727);if(msg_head==NULL){rc
  25. =-ENOMEM;rm_err(
  26. "\x4d\x45\x4d\x5f\x47\x4e\x4c\x3a\x20\x46\x41\x49\x4c\x45\x44\x20\x74\x6f\x20\x6d\x73\x67\x5f\x68\x65\x61\x64\x20\x25\x64" "\n"
  27. ,rc);kfree(skb);goto DATARMNETbf4095f79e;}rc=nla_put_u32(skb,DATARMNETbd57d2442f
  28. ,val);if(rc!=(0xd2d+202-0xdf7)){rm_err(
  29. "\x4d\x45\x4d\x5f\x47\x4e\x4c\x3a\x20\x46\x41\x49\x4c\x45\x44\x20\x6e\x6c\x61\x5f\x70\x75\x74\x20\x25\x64" "\n"
  30. ,rc);kfree(skb);goto DATARMNETbf4095f79e;}genlmsg_end(skb,msg_head);rc=
  31. genlmsg_reply(skb,DATARMNET54338da2ff);if(rc!=(0xd2d+202-0xdf7))goto
  32. DATARMNETbf4095f79e;rm_err(
  33. "\x4d\x45\x4d\x5f\x47\x4e\x4c\x3a\x20\x53\x75\x63\x63\x65\x73\x73\x66\x75\x6c\x6c\x79\x20\x73\x65\x6e\x74\x20\x69\x6e\x74\x20\x25\x64" "\n"
  34. ,val);return(0xd2d+202-0xdf7);DATARMNETbf4095f79e:rm_err(
  35. "\x4d\x45\x4d\x5f\x47\x4e\x4c\x3a\x20\x46\x41\x49\x4c\x45\x44\x20\x74\x6f\x20\x73\x65\x6e\x64\x20\x69\x6e\x74\x20\x25\x64" "\n"
  36. ,val);return-(0xd26+209-0xdf6);}int rmnet_mem_nl_register(void){return
  37. genl_register_family(&DATARMNET595b5c3a9e);}void rmnet_mem_nl_unregister(void){
  38. genl_unregister_family(&DATARMNET595b5c3a9e);}