FM

//usr/include/linux UP

/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/* This file is derived from the GAS 2.1.4 assembler control file.
   The GAS product is under the GNU General Public License, version 2 or later.
   As such, this file is also under that license.

   If the file format changes in the COFF object, this file should be
   subsequently updated to reflect the changes.

   The actual loader module only uses a few of these structures. The full
   set is documented here because I received the full set. If you wish
   more information about COFF, then O'Reilly has a very excellent book.
*/

#define  E_SYMNMLEN  8   /* Number of characters in a symbol name         */
#define  E_FILNMLEN 14   /* Number of characters in a file name           */
#define  E_DIMNUM    4   /* Number of array dimensions in auxiliary entry */

/*
 * These defines are byte order independent. There is no alignment of fields
 * permitted in the structures. Therefore they are declared as characters
 * and the values loaded from the character positions. It also makes it
 * nice to have it "endian" independent.
 */
 
/* Load a short int from the following tables with little-endian formats */
#define COFF_SHORT_L(ps) ((short)(((unsigned short)((unsigned char)ps[1])<<8)|\
				  ((unsigned short)((unsigned char)ps[0]))))

/* Load a long int from the following tables with little-endian formats */
#define COFF_LONG_L(ps) (((long)(((unsigned long)((unsigned char)ps[3])<<24) |\
				 ((unsigned long)((unsigned char)ps[2])<<16) |\
				 ((unsigned long)((unsigned char)ps[1])<<8)  |\
				 ((unsigned long)((unsigned char)ps[0])))))
 
/* Load a short int from the following tables with big-endian formats */
#define COFF_SHORT_H(ps) ((short)(((unsigned short)((unsigned char)ps[0])<<8)|\
				  ((unsigned short)((unsigned char)ps[1]))))

/* Load a long int from the following tables with big-endian formats */
#define COFF_LONG_H(ps) (((long)(((unsigned long)((unsigned char)ps[0])<<24) |\
				 ((unsigned long)((unsigned char)ps[1])<<16) |\
				 ((unsigned long)((unsigned char)ps[2])<<8)  |\
				 ((unsigned long)((unsigned char)ps[3])))))

/* These may be overridden later by brain dead implementations which generate
   a big-endian header with little-endian data. In that case, generate a
   replacement macro which tests a flag and uses either of the two above
   as appropriate. */

#define COFF_LONG(v)   COFF_LONG_L(v)
#define COFF_SHORT(v)  COFF_SHORT_L(v)

/*** coff information for Intel 386/486.  */

/********************** FILE HEADER **********************/

struct COFF_filehdr {
	char f_magic[2];	/* magic number			*/
	char f_nscns[2];	/* number of sections		*/
	char f_timdat[4];	/* time & date stamp		*/
	char f_symptr[4];	/* file pointer to symtab	*/
	char f_nsyms[4];	/* number of symtab entries	*/
	char f_opthdr[2];	/* sizeof(optional hdr)		*/
	char f_flags[2];	/* flags			*/
};

/*
 *   Bits for f_flags:
 *
 *	F_RELFLG	relocation info stripped from file
 *	F_EXEC		file is executable  (i.e. no unresolved external
 *			references)
 *	F_LNNO		line numbers stripped from file
 *	F_LSYMS		local symbols stripped from file
 *	F_MINMAL	this is a minimal object file (".m") output of fextract
 *	F_UPDATE	this is a fully bound update file, output of ogen
 *	F_SWABD		this file has had its bytes swabbed (in names)
 *	F_AR16WR	this file has the byte ordering of an AR16WR
 *			(e.g. 11/70) machine
 *	F_AR32WR	this file has the byte ordering of an AR32WR machine
 *			(e.g. vax and iNTEL 386)
 *	F_AR32W		this file has the byte ordering of an AR32W machine
 *			(e.g. 3b,maxi)
 *	F_PATCH		file contains "patch" list in optional header
 *	F_NODF		(minimal file only) no decision functions for
 *			replaced functions
 */

#define  COFF_F_RELFLG		0000001
#define  COFF_F_EXEC		0000002
#define  COFF_F_LNNO		0000004
#define  COFF_F_LSYMS		0000010
#define  COFF_F_MINMAL		0000020
#define  COFF_F_UPDATE		0000040
#define  COFF_F_SWABD		0000100
#define  COFF_F_AR16WR		0000200
#define  COFF_F_AR32WR		0000400
#define  COFF_F_AR32W		0001000
#define  COFF_F_PATCH		0002000
#define  COFF_F_NODF		0002000

#define	COFF_I386MAGIC	        0x14c   /* Linux's system    */

#if 0   /* Perhaps, someday, these formats may be used.      */
#define COFF_I386PTXMAGIC	0x154
#define COFF_I386AIXMAGIC	0x175   /* IBM's AIX system  */
#define COFF_I386BADMAG(x) ((COFF_SHORT((x).f_magic) != COFF_I386MAGIC) \
			  && COFF_SHORT((x).f_magic) != COFF_I386PTXMAGIC \
			  && COFF_SHORT((x).f_magic) != COFF_I386AIXMAGIC)
#else
#define COFF_I386BADMAG(x) (COFF_SHORT((x).f_magic) != COFF_I386MAGIC)
#endif

#define	COFF_FILHDR	struct COFF_filehdr
#define	COFF_FILHSZ	sizeof(COFF_FILHDR)

/********************** AOUT "OPTIONAL HEADER" **********************/

/* Linux COFF must have this "optional" header. Standard COFF has no entry
   location for the "entry" point. They normally would start with the first
   location of the .text section. This is not a good idea for linux. So,
   the use of this "optional" header is not optional. It is required.

   Do not be tempted to assume that the size of the optional header is
   a constant and simply index the next byte by the size of this structure.
   Use the 'f_opthdr' field in the main coff header for the size of the
   structure actually written to the file!!
*/

typedef struct 
{
  char 	magic[2];		/* type of file				 */
  char	vstamp[2];		/* version stamp			 */
  char	tsize[4];		/* text size in bytes, padded to FW bdry */
  char	dsize[4];		/* initialized   data "   "		 */
  char	bsize[4];		/* uninitialized data "   "		 */
  char	entry[4];		/* entry pt.				 */
  char 	text_start[4];		/* base of text used for this file       */
  char 	data_start[4];		/* base of data used for this file       */
}
COFF_AOUTHDR;

#define COFF_AOUTSZ (sizeof(COFF_AOUTHDR))

#define COFF_STMAGIC	0401
#define COFF_OMAGIC     0404
#define COFF_JMAGIC     0407    /* dirty text and data image, can't share  */
#define COFF_DMAGIC     0410    /* dirty text segment, data aligned        */
#define COFF_ZMAGIC     0413    /* The proper magic number for executables  */
#define COFF_SHMAGIC	0443	/* shared library header                   */

/********************** SECTION HEADER **********************/

struct COFF_scnhdr {
  char		s_name[8];	/* section name			    */
  char		s_paddr[4];	/* physical address, aliased s_nlib */
  char		s_vaddr[4];	/* virtual address		    */
  char		s_size[4];	/* section size			    */
  char		s_scnptr[4];	/* file ptr to raw data for section */
  char		s_relptr[4];	/* file ptr to relocation	    */
  char		s_lnnoptr[4];	/* file ptr to line numbers	    */
  char		s_nreloc[2];	/* number of relocation entries	    */
  char		s_nlnno[2];	/* number of line number entries    */
  char		s_flags[4];	/* flags			    */
};

#define	COFF_SCNHDR	struct COFF_scnhdr
#define	COFF_SCNHSZ	sizeof(COFF_SCNHDR)

/*
 * names of "special" sections
 */

#define COFF_TEXT	".text"
#define COFF_DATA	".data"
#define COFF_BSS	".bss"
#define COFF_COMMENT    ".comment"
#define COFF_LIB        ".lib"

#define COFF_SECT_TEXT  0      /* Section for instruction code             */
#define COFF_SECT_DATA  1      /* Section for initialized globals          */
#define COFF_SECT_BSS   2      /* Section for un-initialized globals       */
#define COFF_SECT_REQD  3      /* Minimum number of sections for good file */

#define COFF_STYP_REG     0x00 /* regular segment                          */
#define COFF_STYP_DSECT   0x01 /* dummy segment                            */
#define COFF_STYP_NOLOAD  0x02 /* no-load segment                          */
#define COFF_STYP_GROUP   0x04 /* group segment                            */
#define COFF_STYP_PAD     0x08 /* .pad segment                             */
#define COFF_STYP_COPY    0x10 /* copy section                             */
#define COFF_STYP_TEXT    0x20 /* .text segment                            */
#define COFF_STYP_DATA    0x40 /* .data segment                            */
#define COFF_STYP_BSS     0x80 /* .bss segment                             */
#define COFF_STYP_INFO   0x200 /* .comment section                         */
#define COFF_STYP_OVER   0x400 /* overlay section                          */
#define COFF_STYP_LIB    0x800 /* library section                          */

/*
 * Shared libraries have the following section header in the data field for
 * each library.
 */

struct COFF_slib {
  char		sl_entsz[4];	/* Size of this entry               */
  char		sl_pathndx[4];	/* size of the header field         */
};

#define	COFF_SLIBHD	struct COFF_slib
#define	COFF_SLIBSZ	sizeof(COFF_SLIBHD)

/********************** LINE NUMBERS **********************/

/* 1 line number entry for every "breakpointable" source line in a section.
 * Line numbers are grouped on a per function basis; first entry in a function
 * grouping will have l_lnno = 0 and in place of physical address will be the
 * symbol table index of the function name.
 */

struct COFF_lineno {
  union {
    char l_symndx[4];	/* function name symbol index, iff l_lnno == 0*/
    char l_paddr[4];	/* (physical) address of line number	*/
  } l_addr;
  char l_lnno[2];	/* line number		*/
};

#define	COFF_LINENO	struct COFF_lineno
#define	COFF_LINESZ	6

/********************** SYMBOLS **********************/

#define COFF_E_SYMNMLEN	 8	/* # characters in a short symbol name	*/
#define COFF_E_FILNMLEN	14	/* # characters in a file name		*/
#define COFF_E_DIMNUM	 4	/* # array dimensions in auxiliary entry */

/*
 *  All symbols and sections have the following definition
 */

struct COFF_syment 
{
  union {
    char e_name[E_SYMNMLEN];    /* Symbol name (first 8 characters) */
    struct {
      char e_zeroes[4];         /* Leading zeros */
      char e_offset[4];         /* Offset if this is a header section */
    } e;
  } e;

  char e_value[4];              /* Value (address) of the segment */
  char e_scnum[2];              /* Section number */
  char e_type[2];               /* Type of section */
  char e_sclass[1];             /* Loader class */
  char e_numaux[1];             /* Number of auxiliary entries which follow */
};

#define COFF_N_BTMASK	(0xf)   /* Mask for important class bits */
#define COFF_N_TMASK	(0x30)  /* Mask for important type bits  */
#define COFF_N_BTSHFT	(4)     /* # bits to shift class field   */
#define COFF_N_TSHIFT	(2)     /* # bits to shift type field    */

/*
 *  Auxiliary entries because the main table is too limiting.
 */
  
union COFF_auxent {

/*
 *  Debugger information
 */

  struct {
    char x_tagndx[4];	        /* str, un, or enum tag indx */
    union {
      struct {
	char  x_lnno[2];        /* declaration line number */
	char  x_size[2];        /* str/union/array size */
      } x_lnsz;
      char x_fsize[4];	        /* size of function */
    } x_misc;

    union {
      struct {		        /* if ISFCN, tag, or .bb */
	char x_lnnoptr[4];	/* ptr to fcn line # */
	char x_endndx[4];	/* entry ndx past block end */
      } x_fcn;

      struct {		        /* if ISARY, up to 4 dimen. */
	char x_dimen[E_DIMNUM][2];
      } x_ary;
    } x_fcnary;

    char x_tvndx[2];	/* tv index */
  } x_sym;

/*
 *   Source file names (debugger information)
 */

  union {
    char x_fname[E_FILNMLEN];
    struct {
      char x_zeroes[4];
      char x_offset[4];
    } x_n;
  } x_file;

/*
 *   Section information
 */

  struct {
    char x_scnlen[4];	/* section length */
    char x_nreloc[2];	/* # relocation entries */
    char x_nlinno[2];	/* # line numbers */
  } x_scn;

/*
 *   Transfer vector (branch table)
 */
  
  struct {
    char x_tvfill[4];	/* tv fill value */
    char x_tvlen[2];	/* length of .tv */
    char x_tvran[2][2];	/* tv range */
  } x_tv;		/* info about .tv section (in auxent of symbol .tv)) */
};

#define	COFF_SYMENT	struct COFF_syment
#define	COFF_SYMESZ	18	
#define	COFF_AUXENT	union COFF_auxent
#define	COFF_AUXESZ	18

#define COFF_ETEXT	"etext"

/********************** RELOCATION DIRECTIVES **********************/

struct COFF_reloc {
  char r_vaddr[4];        /* Virtual address of item    */
  char r_symndx[4];       /* Symbol index in the symtab */
  char r_type[2];         /* Relocation type            */
};

#define COFF_RELOC struct COFF_reloc
#define COFF_RELSZ 10

#define COFF_DEF_DATA_SECTION_ALIGNMENT  4
#define COFF_DEF_BSS_SECTION_ALIGNMENT   4
#define COFF_DEF_TEXT_SECTION_ALIGNMENT  4

/* For new sections we haven't heard of before */
#define COFF_DEF_SECTION_ALIGNMENT       4
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 .