FM

//usr/include/linux UP

/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _LINUX_XFRM_H
#define _LINUX_XFRM_H

#include <linux/in6.h>
#include <linux/types.h>

/* All of the structures in this file may not change size as they are
 * passed into the kernel from userspace via netlink sockets.
 */

/* Structure to encapsulate addresses. I do not want to use
 * "standard" structure. My apologies.
 */
typedef union {
	__be32		a4;
	__be32		a6[4];
	struct in6_addr	in6;
} xfrm_address_t;

/* Ident of a specific xfrm_state. It is used on input to lookup
 * the state by (spi,daddr,ah/esp) or to store information about
 * spi, protocol and tunnel address on output.
 */
struct xfrm_id {
	xfrm_address_t	daddr;
	__be32		spi;
	__u8		proto;
};

struct xfrm_sec_ctx {
	__u8	ctx_doi;
	__u8	ctx_alg;
	__u16	ctx_len;
	__u32	ctx_sid;
	char	ctx_str[0];
};

/* Security Context Domains of Interpretation */
#define XFRM_SC_DOI_RESERVED 0
#define XFRM_SC_DOI_LSM 1

/* Security Context Algorithms */
#define XFRM_SC_ALG_RESERVED 0
#define XFRM_SC_ALG_SELINUX 1

/* Selector, used as selector both on policy rules (SPD) and SAs. */

struct xfrm_selector {
	xfrm_address_t	daddr;
	xfrm_address_t	saddr;
	__be16	dport;
	__be16	dport_mask;
	__be16	sport;
	__be16	sport_mask;
	__u16	family;
	__u8	prefixlen_d;
	__u8	prefixlen_s;
	__u8	proto;
	int	ifindex;
	__kernel_uid32_t	user;
};

#define XFRM_INF (~(__u64)0)

struct xfrm_lifetime_cfg {
	__u64	soft_byte_limit;
	__u64	hard_byte_limit;
	__u64	soft_packet_limit;
	__u64	hard_packet_limit;
	__u64	soft_add_expires_seconds;
	__u64	hard_add_expires_seconds;
	__u64	soft_use_expires_seconds;
	__u64	hard_use_expires_seconds;
};

struct xfrm_lifetime_cur {
	__u64	bytes;
	__u64	packets;
	__u64	add_time;
	__u64	use_time;
};

struct xfrm_replay_state {
	__u32	oseq;
	__u32	seq;
	__u32	bitmap;
};

#define XFRMA_REPLAY_ESN_MAX	4096

struct xfrm_replay_state_esn {
	unsigned int	bmp_len;
	__u32		oseq;
	__u32		seq;
	__u32		oseq_hi;
	__u32		seq_hi;
	__u32		replay_window;
	__u32		bmp[0];
};

struct xfrm_algo {
	char		alg_name[64];
	unsigned int	alg_key_len;    /* in bits */
	char		alg_key[0];
};

struct xfrm_algo_auth {
	char		alg_name[64];
	unsigned int	alg_key_len;    /* in bits */
	unsigned int	alg_trunc_len;  /* in bits */
	char		alg_key[0];
};

struct xfrm_algo_aead {
	char		alg_name[64];
	unsigned int	alg_key_len;	/* in bits */
	unsigned int	alg_icv_len;	/* in bits */
	char		alg_key[0];
};

struct xfrm_stats {
	__u32	replay_window;
	__u32	replay;
	__u32	integrity_failed;
};

enum {
	XFRM_POLICY_TYPE_MAIN	= 0,
	XFRM_POLICY_TYPE_SUB	= 1,
	XFRM_POLICY_TYPE_MAX	= 2,
	XFRM_POLICY_TYPE_ANY	= 255
};

enum {
	XFRM_POLICY_IN	= 0,
	XFRM_POLICY_OUT	= 1,
	XFRM_POLICY_FWD	= 2,
	XFRM_POLICY_MASK = 3,
	XFRM_POLICY_MAX	= 3
};

enum {
	XFRM_SHARE_ANY,		/* No limitations */
	XFRM_SHARE_SESSION,	/* For this session only */
	XFRM_SHARE_USER,	/* For this user only */
	XFRM_SHARE_UNIQUE	/* Use once */
};

#define XFRM_MODE_TRANSPORT 0
#define XFRM_MODE_TUNNEL 1
#define XFRM_MODE_ROUTEOPTIMIZATION 2
#define XFRM_MODE_IN_TRIGGER 3
#define XFRM_MODE_BEET 4
#define XFRM_MODE_MAX 5

/* Netlink configuration messages.  */
enum {
	XFRM_MSG_BASE = 0x10,

	XFRM_MSG_NEWSA = 0x10,
#define XFRM_MSG_NEWSA XFRM_MSG_NEWSA
	XFRM_MSG_DELSA,
#define XFRM_MSG_DELSA XFRM_MSG_DELSA
	XFRM_MSG_GETSA,
#define XFRM_MSG_GETSA XFRM_MSG_GETSA

	XFRM_MSG_NEWPOLICY,
#define XFRM_MSG_NEWPOLICY XFRM_MSG_NEWPOLICY
	XFRM_MSG_DELPOLICY,
#define XFRM_MSG_DELPOLICY XFRM_MSG_DELPOLICY
	XFRM_MSG_GETPOLICY,
#define XFRM_MSG_GETPOLICY XFRM_MSG_GETPOLICY

	XFRM_MSG_ALLOCSPI,
#define XFRM_MSG_ALLOCSPI XFRM_MSG_ALLOCSPI
	XFRM_MSG_ACQUIRE,
#define XFRM_MSG_ACQUIRE XFRM_MSG_ACQUIRE
	XFRM_MSG_EXPIRE,
#define XFRM_MSG_EXPIRE XFRM_MSG_EXPIRE

	XFRM_MSG_UPDPOLICY,
#define XFRM_MSG_UPDPOLICY XFRM_MSG_UPDPOLICY
	XFRM_MSG_UPDSA,
#define XFRM_MSG_UPDSA XFRM_MSG_UPDSA

	XFRM_MSG_POLEXPIRE,
#define XFRM_MSG_POLEXPIRE XFRM_MSG_POLEXPIRE

	XFRM_MSG_FLUSHSA,
#define XFRM_MSG_FLUSHSA XFRM_MSG_FLUSHSA
	XFRM_MSG_FLUSHPOLICY,
#define XFRM_MSG_FLUSHPOLICY XFRM_MSG_FLUSHPOLICY

	XFRM_MSG_NEWAE,
#define XFRM_MSG_NEWAE XFRM_MSG_NEWAE
	XFRM_MSG_GETAE,
#define XFRM_MSG_GETAE XFRM_MSG_GETAE

	XFRM_MSG_REPORT,
#define XFRM_MSG_REPORT XFRM_MSG_REPORT

	XFRM_MSG_MIGRATE,
#define XFRM_MSG_MIGRATE XFRM_MSG_MIGRATE

	XFRM_MSG_NEWSADINFO,
#define XFRM_MSG_NEWSADINFO XFRM_MSG_NEWSADINFO
	XFRM_MSG_GETSADINFO,
#define XFRM_MSG_GETSADINFO XFRM_MSG_GETSADINFO

	XFRM_MSG_NEWSPDINFO,
#define XFRM_MSG_NEWSPDINFO XFRM_MSG_NEWSPDINFO
	XFRM_MSG_GETSPDINFO,
#define XFRM_MSG_GETSPDINFO XFRM_MSG_GETSPDINFO

	XFRM_MSG_MAPPING,
#define XFRM_MSG_MAPPING XFRM_MSG_MAPPING
	__XFRM_MSG_MAX
};
#define XFRM_MSG_MAX (__XFRM_MSG_MAX - 1)

#define XFRM_NR_MSGTYPES (XFRM_MSG_MAX + 1 - XFRM_MSG_BASE)

/*
 * Generic LSM security context for comunicating to user space
 * NOTE: Same format as sadb_x_sec_ctx
 */
struct xfrm_user_sec_ctx {
	__u16			len;
	__u16			exttype;
	__u8			ctx_alg;  /* LSMs: e.g., selinux == 1 */
	__u8			ctx_doi;
	__u16			ctx_len;
};

struct xfrm_user_tmpl {
	struct xfrm_id		id;
	__u16			family;
	xfrm_address_t		saddr;
	__u32			reqid;
	__u8			mode;
	__u8			share;
	__u8			optional;
	__u32			aalgos;
	__u32			ealgos;
	__u32			calgos;
};

struct xfrm_encap_tmpl {
	__u16		encap_type;
	__be16		encap_sport;
	__be16		encap_dport;
	xfrm_address_t	encap_oa;
};

/* AEVENT flags  */
enum xfrm_ae_ftype_t {
	XFRM_AE_UNSPEC,
	XFRM_AE_RTHR=1,	/* replay threshold*/
	XFRM_AE_RVAL=2, /* replay value */
	XFRM_AE_LVAL=4, /* lifetime value */
	XFRM_AE_ETHR=8, /* expiry timer threshold */
	XFRM_AE_CR=16, /* Event cause is replay update */
	XFRM_AE_CE=32, /* Event cause is timer expiry */
	XFRM_AE_CU=64, /* Event cause is policy update */
	__XFRM_AE_MAX

#define XFRM_AE_MAX (__XFRM_AE_MAX - 1)
};

struct xfrm_userpolicy_type {
	__u8		type;
	__u16		reserved1;
	__u8		reserved2;
};

/* Netlink message attributes.  */
enum xfrm_attr_type_t {
	XFRMA_UNSPEC,
	XFRMA_ALG_AUTH,		/* struct xfrm_algo */
	XFRMA_ALG_CRYPT,	/* struct xfrm_algo */
	XFRMA_ALG_COMP,		/* struct xfrm_algo */
	XFRMA_ENCAP,		/* struct xfrm_algo + struct xfrm_encap_tmpl */
	XFRMA_TMPL,		/* 1 or more struct xfrm_user_tmpl */
	XFRMA_SA,		/* struct xfrm_usersa_info  */
	XFRMA_POLICY,		/*struct xfrm_userpolicy_info */
	XFRMA_SEC_CTX,		/* struct xfrm_sec_ctx */
	XFRMA_LTIME_VAL,
	XFRMA_REPLAY_VAL,
	XFRMA_REPLAY_THRESH,
	XFRMA_ETIMER_THRESH,
	XFRMA_SRCADDR,		/* xfrm_address_t */
	XFRMA_COADDR,		/* xfrm_address_t */
	XFRMA_LASTUSED,		/* unsigned long  */
	XFRMA_POLICY_TYPE,	/* struct xfrm_userpolicy_type */
	XFRMA_MIGRATE,
	XFRMA_ALG_AEAD,		/* struct xfrm_algo_aead */
	XFRMA_KMADDRESS,        /* struct xfrm_user_kmaddress */
	XFRMA_ALG_AUTH_TRUNC,	/* struct xfrm_algo_auth */
	XFRMA_MARK,		/* struct xfrm_mark */
	XFRMA_TFCPAD,		/* __u32 */
	XFRMA_REPLAY_ESN_VAL,	/* struct xfrm_replay_state_esn */
	XFRMA_SA_EXTRA_FLAGS,	/* __u32 */
	XFRMA_PROTO,		/* __u8 */
	XFRMA_ADDRESS_FILTER,	/* struct xfrm_address_filter */
	XFRMA_PAD,
	XFRMA_OFFLOAD_DEV,	/* struct xfrm_user_offload */
	XFRMA_SET_MARK,		/* __u32 */
	XFRMA_SET_MARK_MASK,	/* __u32 */
	XFRMA_IF_ID,		/* __u32 */
	__XFRMA_MAX

#define XFRMA_OUTPUT_MARK XFRMA_SET_MARK	/* Compatibility */
#define XFRMA_MAX (__XFRMA_MAX - 1)
};

struct xfrm_mark {
	__u32           v; /* value */
	__u32           m; /* mask */
};

enum xfrm_sadattr_type_t {
	XFRMA_SAD_UNSPEC,
	XFRMA_SAD_CNT,
	XFRMA_SAD_HINFO,
	__XFRMA_SAD_MAX

#define XFRMA_SAD_MAX (__XFRMA_SAD_MAX - 1)
};

struct xfrmu_sadhinfo {
	__u32 sadhcnt; /* current hash bkts */
	__u32 sadhmcnt; /* max allowed hash bkts */
};

enum xfrm_spdattr_type_t {
	XFRMA_SPD_UNSPEC,
	XFRMA_SPD_INFO,
	XFRMA_SPD_HINFO,
	XFRMA_SPD_IPV4_HTHRESH,
	XFRMA_SPD_IPV6_HTHRESH,
	__XFRMA_SPD_MAX

#define XFRMA_SPD_MAX (__XFRMA_SPD_MAX - 1)
};

struct xfrmu_spdinfo {
	__u32 incnt;
	__u32 outcnt;
	__u32 fwdcnt;
	__u32 inscnt;
	__u32 outscnt;
	__u32 fwdscnt;
};

struct xfrmu_spdhinfo {
	__u32 spdhcnt;
	__u32 spdhmcnt;
};

struct xfrmu_spdhthresh {
	__u8 lbits;
	__u8 rbits;
};

struct xfrm_usersa_info {
	struct xfrm_selector		sel;
	struct xfrm_id			id;
	xfrm_address_t			saddr;
	struct xfrm_lifetime_cfg	lft;
	struct xfrm_lifetime_cur	curlft;
	struct xfrm_stats		stats;
	__u32				seq;
	__u32				reqid;
	__u16				family;
	__u8				mode;		/* XFRM_MODE_xxx */
	__u8				replay_window;
	__u8				flags;
#define XFRM_STATE_NOECN	1
#define XFRM_STATE_DECAP_DSCP	2
#define XFRM_STATE_NOPMTUDISC	4
#define XFRM_STATE_WILDRECV	8
#define XFRM_STATE_ICMP		16
#define XFRM_STATE_AF_UNSPEC	32
#define XFRM_STATE_ALIGN4	64
#define XFRM_STATE_ESN		128
};

#define XFRM_SA_XFLAG_DONT_ENCAP_DSCP	1

struct xfrm_usersa_id {
	xfrm_address_t			daddr;
	__be32				spi;
	__u16				family;
	__u8				proto;
};

struct xfrm_aevent_id {
	struct xfrm_usersa_id		sa_id;
	xfrm_address_t			saddr;
	__u32				flags;
	__u32				reqid;
};

struct xfrm_userspi_info {
	struct xfrm_usersa_info		info;
	__u32				min;
	__u32				max;
};

struct xfrm_userpolicy_info {
	struct xfrm_selector		sel;
	struct xfrm_lifetime_cfg	lft;
	struct xfrm_lifetime_cur	curlft;
	__u32				priority;
	__u32				index;
	__u8				dir;
	__u8				action;
#define XFRM_POLICY_ALLOW	0
#define XFRM_POLICY_BLOCK	1
	__u8				flags;
#define XFRM_POLICY_LOCALOK	1	/* Allow user to override global policy */
	/* Automatically expand selector to include matching ICMP payloads. */
#define XFRM_POLICY_ICMP	2
	__u8				share;
};

struct xfrm_userpolicy_id {
	struct xfrm_selector		sel;
	__u32				index;
	__u8				dir;
};

struct xfrm_user_acquire {
	struct xfrm_id			id;
	xfrm_address_t			saddr;
	struct xfrm_selector		sel;
	struct xfrm_userpolicy_info	policy;
	__u32				aalgos;
	__u32				ealgos;
	__u32				calgos;
	__u32				seq;
};

struct xfrm_user_expire {
	struct xfrm_usersa_info		state;
	__u8				hard;
};

struct xfrm_user_polexpire {
	struct xfrm_userpolicy_info	pol;
	__u8				hard;
};

struct xfrm_usersa_flush {
	__u8				proto;
};

struct xfrm_user_report {
	__u8				proto;
	struct xfrm_selector		sel;
};

/* Used by MIGRATE to pass addresses IKE should use to perform
 * SA negotiation with the peer */
struct xfrm_user_kmaddress {
	xfrm_address_t                  local;
	xfrm_address_t                  remote;
	__u32				reserved;
	__u16				family;
};

struct xfrm_user_migrate {
	xfrm_address_t			old_daddr;
	xfrm_address_t			old_saddr;
	xfrm_address_t			new_daddr;
	xfrm_address_t			new_saddr;
	__u8				proto;
	__u8				mode;
	__u16				reserved;
	__u32				reqid;
	__u16				old_family;
	__u16				new_family;
};

struct xfrm_user_mapping {
	struct xfrm_usersa_id		id;
	__u32				reqid;
	xfrm_address_t			old_saddr;
	xfrm_address_t			new_saddr;
	__be16				old_sport;
	__be16				new_sport;
};

struct xfrm_address_filter {
	xfrm_address_t			saddr;
	xfrm_address_t			daddr;
	__u16				family;
	__u8				splen;
	__u8				dplen;
};

struct xfrm_user_offload {
	int				ifindex;
	__u8				flags;
};
/* This flag was exposed without any kernel code that supporting it.
 * Unfortunately, strongswan has the code that uses sets this flag,
 * which makes impossible to reuse this bit.
 *
 * So leave it here to make sure that it won't be reused by mistake.
 */
#define XFRM_OFFLOAD_IPV6	1
#define XFRM_OFFLOAD_INBOUND	2

/* backwards compatibility for userspace */
#define XFRMGRP_ACQUIRE		1
#define XFRMGRP_EXPIRE		2
#define XFRMGRP_SA		4
#define XFRMGRP_POLICY		8
#define XFRMGRP_REPORT		0x20

enum xfrm_nlgroups {
	XFRMNLGRP_NONE,
#define XFRMNLGRP_NONE		XFRMNLGRP_NONE
	XFRMNLGRP_ACQUIRE,
#define XFRMNLGRP_ACQUIRE	XFRMNLGRP_ACQUIRE
	XFRMNLGRP_EXPIRE,
#define XFRMNLGRP_EXPIRE	XFRMNLGRP_EXPIRE
	XFRMNLGRP_SA,
#define XFRMNLGRP_SA		XFRMNLGRP_SA
	XFRMNLGRP_POLICY,
#define XFRMNLGRP_POLICY	XFRMNLGRP_POLICY
	XFRMNLGRP_AEVENTS,
#define XFRMNLGRP_AEVENTS	XFRMNLGRP_AEVENTS
	XFRMNLGRP_REPORT,
#define XFRMNLGRP_REPORT	XFRMNLGRP_REPORT
	XFRMNLGRP_MIGRATE,
#define XFRMNLGRP_MIGRATE	XFRMNLGRP_MIGRATE
	XFRMNLGRP_MAPPING,
#define XFRMNLGRP_MAPPING	XFRMNLGRP_MAPPING
	__XFRMNLGRP_MAX
};
#define XFRMNLGRP_MAX	(__XFRMNLGRP_MAX - 1)

#endif /* _LINUX_XFRM_H */
a.out.h6892V
acct.h3733V
adb.h1140V
adfs_fs.h936V
affs_hardblocks.h1544V
agpgart.h3940V
aio_abi.h3417V
am437x-vpfe.h3681V
android-
apm_bios.h3683V
arcfb.h213V
arm_sdei.h2751V
aspeed-lpc-ctrl.h1780V
atalk.h1023V
atm.h7888V
atm_eni.h648V
atm_he.h406V
atm_idt77105.h955V
atm_nicstar.h1278V
atm_tcp.h1622V
atm_zatm.h1540V
atmapi.h952V
atmarp.h1296V
atmbr2684.h3271V
atmclip.h576V
atmdev.h7677V
atmioc.h1646V
atmlec.h2381V
atmmpc.h4226V
atmppp.h639V
atmsap.h4970V
atmsvc.h1853V
audit.h20394V
auto_dev-ioctl.h4986V
auto_fs.h6428V
auto_fs4.h451V
auxvec.h1597V
ax25.h2824V
b1lli.h1717V
batadv_packet.h20495V
batman_adv.h11977V
baycom.h883V
bcache.h8366V
bcm933xx_hcs.h419V
bfs_fs.h1893V
binfmts.h628V
blkpg.h904V
blktrace_api.h4701V
blkzoned.h6608V
bpf.h228660V
bpf_common.h1367V
bpf_perf_event.h529V
bpfilter.h465V
bpqether.h981V
bsg.h2494V
bt-bmc.h572V
btf.h4796V
btrfs.h28913V
btrfs_tree.h25285V
byteorder-
caif-
can-
can.h7881V
capability.h13521V
capi.h3124V
cciss_defs.h3281V
cciss_ioctl.h2761V
cdrom.h28859V
cec-funcs.h53901V
cec.h37691V
cfm_bridge.h1456V
cgroupstats.h2219V
chio.h5344V
cifs-
close_range.h377V
cm4000_cs.h1806V
cn_proc.h3456V
coda.h17505V
coda_psdev.h783V
coff.h12476V
connector.h2253V
const.h788V
coresight-stm.h674V
cramfs_fs.h3555V
cryptouser.h3392V
cuda.h905V
cyclades.h17108V
cycx_cfm.h2990V
dcbnl.h25238V
dccp.h6436V
devlink.h21556V
dlm.h2553V
dlm_device.h2543V
dlm_netlink.h1159V
dlm_plock.h894V
dlmconstants.h5080V
dm-ioctl.h11400V
dm-log-userspace.h15191V
dma-buf.h5247V
dn.h4642V
dqblk_xfs.h9245V
dvb-
edd.h5604V
efs_fs_sb.h2227V
elf-em.h2187V
elf-fdpic.h1124V
elf.h13471V
elfcore.h2995V
errno.h23V
errqueue.h1477V
erspan.h1059V
ethtool.h83855V
ethtool_netlink.h22826V
eventpoll.h2734V
fadvise.h842V
falloc.h3584V
fanotify.h5341V
fb.h16477V
fcntl.h4174V
fd.h11672V
fdreg.h5420V
fib_rules.h2036V
fiemap.h2775V
filter.h2216V
firewire-cdev.h43886V
firewire-constants.h3231V
flat.h2148V
fou.h694V
fpga-dfl.h8728V
fs.h13424V
fsl_hypervisor.h7301V
fsmap.h4393V
fuse.h23473V
futex.h4993V
gameport.h897V
gen_stats.h1526V
genetlink.h2175V
genwqe-
gfs2_ondisk.h14743V
gigaset_dev.h1442V
gpio.h6751V
gsmmux.h1041V
gtp.h681V
hash_info.h921V
hdlc-
hdlc.h637V
hdlcdrv.h2908V
hdreg.h22703V
hid.h1901V
hiddev.h6345V
hidraw.h1993V
hpet.h743V
hsi-
hsr_netlink.h1081V
hw_breakpoint.h742V
hyperv.h11152V
hysdn_if.h1382V
i2c-dev.h2612V
i2c.h7132V
i2o-dev.h11555V
i8k.h1528V
icmp.h2975V
icmpv6.h4038V
idxd.h8417V
if.h10901V
if_addr.h1886V
if_addrlabel.h721V
if_alg.h946V
if_arcnet.h3717V
if_arp.h6577V
if_bonding.h5291V
if_bridge.h19514V
if_cablemodem.h986V
if_eql.h1349V
if_ether.h8248V
if_fc.h1738V
if_fddi.h3748V
if_frad.h3019V
if_hippi.h4235V
if_infiniband.h1245V
if_link.h31005V
if_ltalk.h210V
if_macsec.h5832V
if_packet.h7919V
if_phonet.h424V
if_plip.h660V
if_ppp.h29V
if_pppol2tp.h3292V
if_pppox.h4879V
if_slip.h872V
if_team.h2600V
if_tun.h4098V
if_tunnel.h4512V
if_vlan.h1831V
if_x25.h881V
if_xdp.h3011V
ife.h351V
igmp.h3064V
iio-
ila.h1246V
in.h10014V
in6.h7438V
in_route.h936V
inet_diag.h4672V
inotify.h3292V
input-event-codes.h28606V
input.h15985V
io_uring.h6207V
ioctl.h163V
iommu.h4904V
ip.h4728V
ip6_tunnel.h1953V
ip_vs.h13631V
ipc.h2101V
ipmi.h15442V
ipmi_bmc.h464V
ipmi_msgdefs.h3430V
ipmi_ssif_bmc.h441V
ipsec.h947V
ipv6.h3967V
ipv6_route.h1908V
ipx.h2347V
irqnr.h104V
isdn-
isdn.h5774V
isdn_divertif.h1200V
isdn_ppp.h1923V
isdnif.h2370V
iso_fs.h6485V
isst_if.h5384V
ivtv.h3022V
ivtvfb.h1207V
jffs2.h7018V
joystick.h3434V
kcm.h822V
kcmp.h522V
kcov.h1099V
kd.h6253V
kdev_t.h383V
kernel-page-flags.h900V
kernel.h438V
kernelcapi.h1019V
kexec.h1835V
keyboard.h12783V
keyctl.h3500V
kfd_ioctl.h28814V
kfd_sysfs.h4350V
kvm.h61561V
kvm_para.h1001V
l2tp.h5591V
libc-compat.h8289V
lightnvm.h5042V
limits.h937V
lirc.h7813V
llc.h3164V
loop.h3497V
lp.h4190V
lwtunnel.h2179V
magic.h3531V
major.h4713V
map_to_7segment.h7251V
matroxfb.h1464V
max2175.h1035V
mdio.h17272V
media-bus-format.h6411V
media.h11382V
mei.h3475V
membarrier.h7899V
memfd.h1324V
mempolicy.h2231V
meye.h2529V
mic_common.h6519V
mic_ioctl.h2252V
mii.h9496V
minix_fs.h2122V
mman.h1385V
mmc-
mmtimer.h2117V
module.h255V
mount.h4546V
mpls.h2302V
mpls_iptunnel.h761V
mptcp.h5608V
mqueue.h2201V
mroute.h5427V
mroute6.h4577V
mrp_bridge.h1708V
msdos_fs.h6963V
msg.h3374V
mtio.h8175V
n_r3964.h2410V
nbd-netlink.h2408V
nbd.h3024V
ncsi.h3880V
ndctl.h6866V
neighbour.h5138V
net.h2085V
net_dropmon.h2922V
net_namespace.h715V
net_tstamp.h5806V
netconf.h614V
netdevice.h2253V
netfilter-
netfilter.h1820V
netfilter_arp-
netfilter_arp.h445V
netfilter_bridge-
netfilter_bridge.h1168V
netfilter_decnet.h1979V
netfilter_ipv4-
netfilter_ipv4.h2169V
netfilter_ipv6-
netfilter_ipv6.h2189V
netlink.h11495V
netlink_diag.h1524V
netrom.h807V
nexthop.h1534V
nfc.h11209V
nfs.h4500V
nfs2.h1468V
nfs3.h2453V
nfs4.h6599V
nfs4_mount.h1932V
nfs_fs.h1641V
nfs_idmap.h2243V
nfs_mount.h2142V
nfsacl.h718V
nfsd-
nilfs2_api.h7589V
nilfs2_ondisk.h18033V
nitro_enclaves.h13152V
nl80211.h335264V
nsfs.h639V
nubus.h8191V
nvme_ioctl.h2112V
nvram.h532V
omap3isp.h20853V
omapfb.h5918V
oom.h511V
openat2.h1289V
openvswitch.h40184V
packet_diag.h1672V
param.h141V
parport.h3644V
patchkey.h892V
pci.h1380V
pci_regs.h57827V
pcitest.h711V
perf_event.h40580V
personality.h2097V
pfkeyv2.h10569V
pfrut.h7987V
pg.h2394V
phantom.h1654V
phonet.h4677V
pkt_cls.h18511V
pkt_sched.h30296V
pktcdvd.h2687V
pmu.h5319V
poll.h22V
posix_acl.h1254V
posix_acl_xattr.h1115V
posix_types.h1098V
ppdev.h3211V
ppp-comp.h2527V
ppp-ioctl.h5475V
ppp_defs.h5107V
pps.h4734V
pr.h1073V
prctl.h8023V
psample.h2271V
psci.h4328V
psp-sev.h4586V
ptp_clock.h7456V
ptrace.h3674V
qemu_fw_cfg.h2469V
qnx4_fs.h2328V
qnxtypes.h624V
qrtr.h893V
quota.h6291V
radeonfb.h360V
raid-
random.h1370V
raw.h365V
rds.h9301V
reboot.h1343V
reiserfs_fs.h775V
reiserfs_xattr.h533V
resource.h2347V
rfkill.h6608V
rio_cm_cdev.h3248V
rio_mport_cdev.h9330V
romfs_fs.h1238V
rose.h2232V
route.h2332V
rpmsg.h544V
rseq.h4904V
rtc.h4009V
rtnetlink.h20201V
rxrpc.h5080V
scc.h4597V
sched-
sched.h2797V
scif_ioctl.h6382V
screen_info.h2479V
sctp.h35994V
sdla.h2839V
seccomp.h2257V
securebits.h2704V
sed-opal.h3275V
seg6.h1170V
seg6_genl.h589V
seg6_hmac.h423V
seg6_iptunnel.h927V
seg6_local.h2060V
selinux_netlink.h1195V
sem.h3043V
serial.h3866V
serial_core.h6245V
serial_reg.h15496V
serio.h2037V
sev-guest.h2303V
shm.h3785V
signal.h388V
signalfd.h1233V
smc.h8513V
smc_diag.h2728V
smiapp.h1058V
snmp.h13663V
sock_diag.h1301V
socket.h901V
sockios.h6106V
sonet.h2290V
sonypi.h5309V
sound.h1237V
soundcard.h46038V
spi-
stat.h6352V
stddef.h1532V
stm.h1275V
string.h238V
sunrpc-
suspend_ioctls.h1431V
swab.h6921V
switchtec_ioctl.h5262V
sync_file.h2883V
synclink.h8985V
sysctl.h25842V
sysinfo.h1049V
target_core_user.h4633V
taskstats.h7180V
tc_act-
tc_ematch-
tcp.h9920V
tcp_metrics.h1549V
tdx-guest.h1305V
tee.h13165V
termios.h506V
thermal.h3309V
time.h1748V
time_types.h1175V
timerfd.h936V
times.h278V
timex.h6403V
tiocl.h1729V
tipc.h8825V
tipc_config.h14708V
tipc_netlink.h9395V
tipc_sockets_diag.h468V
tls.h4288V
toshiba.h1930V
tty.h1585V
tty_flags.h4527V
types.h1476V
udf_fs_i.h697V
udp.h1661V
uhid.h4648V
uinput.h9261V
uio.h732V
uleds.h798V
ultrasound.h4562V
un.h384V
unistd.h220V
unix_diag.h1253V
usb-
usbdevice_fs.h8317V
usbip.h640V
userfaultfd.h7774V
userio.h1516V
utime.h215V
utsname.h669V
uuid.h1356V
uvcvideo.h2635V
v4l2-common.h4177V
v4l2-controls.h51777V
v4l2-dv-timings.h31562V
v4l2-mediabus.h5101V
v4l2-subdev.h6096V
vbox_err.h7257V
vbox_vmmdev_types.h8356V
vboxguest.h8729V
vdpa.h1421V
version.h431V
veth.h224V
vfio.h52223V
vfio_ccw.h1317V
vfio_zdev.h2542V
vhost.h6418V
vhost_types.h3997V
videodev2.h90741V
virtio_9p.h2041V
virtio_balloon.h5274V
virtio_blk.h6797V
virtio_bt.h772V
virtio_config.h4005V
virtio_console.h3136V
virtio_crypto.h13874V
virtio_fs.h572V
virtio_gpu.h11454V
virtio_ids.h3269V
virtio_input.h2506V
virtio_iommu.h3783V
virtio_mem.h7157V
virtio_mmio.h4969V
virtio_net.h10549V
virtio_pci.h7406V
virtio_ring.h7497V
virtio_rng.h265V
virtio_scsi.h6035V
virtio_snd.h9304V
virtio_types.h2153V
virtio_vsock.h3086V
vm_sockets.h6494V
vm_sockets_diag.h963V
vmcore.h431V
vsockmon.h1885V
vt.h3059V
vtpm_proxy.h1719V
wait.h682V
wanrouter.h453V
watchdog.h2335V
wimax-
wimax.h8371V
wireless.h42703V
wmi.h1886V
x25.h3562V
xattr.h2860V
xdp_diag.h1468V
xfrm.h11994V
xilinx-v4l2-controls.h2976V
zorro.h3296V
zorro_ids.h29963V
MyMelon - Digital Marketing and Creative Agency in Delhi, India
Skip to content Skip to footer

MyMelon Home Page

Bored Of Old School Strategies?

Conventional strategies do no justice to complex modern problems. Bringing in kickass blueprints to escalate your exclusive ideas to the growth trajectory.

MyMelon Home Page (1)

Falling In Love With Your Problems

Your problems are our play! You get to decide which ‘solutions’ feel like an astounding fuck yes!

Discover pitch-perfect marketing strategies to deliver complex ideas into simplified solutions. 

Diversity in our problem solving approach makes us who we are!

You Do You

For us every client and their offerings are unique. We offer tailored and hot-off-the-press strategies to produce a unique brand identity. Listening, evolving, and promoting your articles of faith is what makes our work kickass and compelling too!

#
Award
Type
Project
01
Best Project
Art Business
Business Style
2017
02
Best Design
Creative Work
Best Designers
2018
03
Best Concept
New Strategy
Branding Concept
2019
04
Best Picture
Visualization
Small Figures
2020

Our Inspirations

Vivekanand

Arise, awake, and stop not until the goal is achieved

Dr APJ Abdul Kalam

Creativity is seeing the same thing but thinking differently

Christopher Columbus

By prevailing over all obstacles one may unfailingly arrive at his chosen goal.

JRD Tata

Uncommon thinkers reuse what common thinkers refuse.

Lead The Way With Your New Digital Partners

Waiting to get viral? Don’t worry we’ve got your back!

Leading your way through business acumen and business strategies tailored to your needs.

Handholding you since your first lightbulb moment to making a mark in the industry through unique formulas.  Bringing unexpected things to the table is in our DNA.

Producing Tailored Solutions

One solution for multiple solutions is hard to swallow. Creating tailored solutions for your unique problems

Setting Benchmarks

Doesn’t carving a path for others give the best kick ever?

Making A Difference

You can’t wait for a case study. You will be too late!

Blogs

Contact Us

We work hard and then succeed on purpose.

We are constantly looking for a needle in a haystack and connecting to get the deal to happen!

If you've loved our idea and want to take the road less traveled, reach out to us on …….

Before you take the sure-shots of success, let's take some shots of vodka!

    Polscy gracze coraz częściej wybierają kasyno bez weryfikacji przy wypłacie bez ukrytych opłat, aby cieszyć się szybkim dostępem do gier i przejrzystymi warunkami wypłaty wygranych. Tego typu platformy stawiają na uproszczoną rejestrację, nowoczesne metody płatności oraz jasne zasady dotyczące transakcji. Przed rozpoczęciem gry warto zapoznać się z opiniami innych użytkowników, aby ocenić jakość obsługi i niezawodność serwisu.

    Jeśli chcesz znaleźć rzetelne opinie oraz porównać najlepsze platformy, casino Revolut Pay może pomóc Ci podjąć świadomą decyzję. Znajdziesz tam recenzje użytkowników, szczegóły bonusów oraz informacje o wpłatach i wypłatach w kasynach akceptujących Revolut.

    People searching for gerçek canlı casino usually mean live-dealer roulette, blackjack, baccarat, or game-show tables streamed from a studio with a real dealer, rather than an RNG-only game. To assess authenticity, verify the operator’s licence directly with the regulator, check the named game provider and studio, look for clear rules and table limits, inspect withdrawal terms, and confirm that the service is legal in your jurisdiction; a foreign licence does not automatically make an operator legal in Türkiye.

    [canlı casino lisans rehberi](https://guvenilircanlicasinos.com/)[gerçek krupiyeli oyunlar](https://www.livecasinos.com/tr/) [guvenilircanlicasinos](https://guvenilircanlicasinos.com/)

    Many Dutch players now look for beste online casino iDEAL to benefit from secure iDEAL deposits, low minimum stakes, and quick withdrawals. These casinos integrate trusted Dutch payment infrastructure with streamlined cashout systems, ideal for users who value speed, simplicity, and transparent transactions. By consulting authentic player reviews, gamblers can identify sites that consistently deliver rapid payouts and a seamless gaming experience.

    Gli online casinos with bancoposta sono principalmente operatori che accettano la carta Visa o Mastercard collegata al conto BancoPosta per depositi e, in alcuni casi, prelievi. Tra i nomi più citati in Italia figurano 888casino, SNAI, LeoVegas, Planetwin365, Gioco Digitale, Sisal e StarCasinò, con depositi minimi spesso tra 10€ e 20€ e limiti massimi che possono arrivare a diverse migliaia di euro. Per utilizzare la carta, di solito basta selezionare Visa o Mastercard alla cassa, inserire i dati della carta BancoPosta e completare la verifica 3D Secure; i prelievi possono tornare sulla stessa carta o sul conto tramite bonifico, con tempi tipici da 24 ore a 3–5 giorni lavorativi.

    Gracze poszukujący sprawdzonych platform często wybierają kasyno niemcy, które oferuje przejrzyste zasady wypłat i bezpieczne metody płatności. Przed rejestracją warto porównać limity transakcji, czas realizacji przelewów oraz dostępne opcje wpłat, aby uniknąć niepotrzebnych opóźnień. Opinie innych użytkowników mogą pomóc ocenić rzetelność obsługi, jakość gier i ogólny komfort korzystania z platformy.

    Oferty określane jako zagraniczne kasyna bonus bez depozytu mogą obejmować darmowe spiny lub niewielkie środki promocyjne przyznawane po rejestracji i weryfikacji konta. Przed skorzystaniem z promocji należy dokładnie sprawdzić wymagania obrotu, maksymalną wypłatę, czas ważności bonusu oraz ograniczenia dla użytkowników z Polski. Zagraniczna licencja nie legalizuje automatycznie działalności hazardowej w Polsce, dlatego warto zweryfikować operatora w oficjalnych źródłach i grać odpowiedzialnie .