0% found this document useful (0 votes)
30 views62 pages

Technical Specification Corporate Data

Uploaded by

investing.collab
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views62 pages

Technical Specification Corporate Data

Uploaded by

investing.collab
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 62

CORPORATE DATA

Version: 2.4
Date: 19 December 2024

NSE DATA & ANALYTICS LIMITED


EXCHANGE PLAZA,
PLOT NO. C/1, G BLOCK,
BANDRA-KURLA COMPLEX,
BANDRA (E), MUMBAI 400 051.
INDIA.
© 2009 National Stock Exchange India Limited. All rights reserved.

Non-Confidential
Corporate Data Multicast Specification

COPYRIGHT NOTICE

All rights reserved. No part of this document may be reproduced or transmitted in


any form and by any means without the prior permission of NSE Data & Analytics
Ltd.

2
Corporate Data Multicast Specification

Revision History

Name Description Date

Removal of TCP/IP Session Initialization,


Version 2.3 11 November 2022
Login Request, Login Response.

• Addition of Code field in all Info headers


• Addition of Data Type section
Version 2.4 • Increased CA attachment filename size from 19 December 2024
100 to 200 bytes in Corporate
Announcement & Quick Result

3
Corporate Data Multicast Specification

Table of Contents
1. Introduction .......................................................................................................... 6

2. Connection Details .................................................................................................. 8

2.1 Packet Format ...................................................................................................... 8

2.2 Data Types ......................................................................................................... 10

3. Data Details .......................................................................................................... 11

4. Data Structure Details ............................................................................................. 12

4.1 Corporate Announcement & Quick Result .................................................................... 12

4.2 Company Result ................................................................................................... 13

4.2.1 Company Financial Result .................................................................................... 13

4.2.2 Segment Wise Result ........................................................................................... 20

4.3 Distribution Schedule ............................................................................................ 21

4.3.1 Shareholding Pattern Declaration ........................................................................... 21

4.3.2 Shareholding Pattern Details ................................................................................. 23

4.3.3 Promoters Shareholding Details ............................................................................. 26

4.3.4 Public Shareholding Details................................................................................... 30

4.3.5 Non-Promoter Non-Public Shareholding Details .......................................................... 33

4.3.6 Details of Promoter Shareholding Which Remain Unclaimed .......................................... 37

4.3.7 Details of Shareholders Acting as Persons In Concert ................................................... 39

4.3.8 Details of Public Shareholding Which Remain Unclaimed .............................................. 41

4.4 End of the Feed ................................................................................................... 43

4.5 Heartbeat Signal .................................................................................................. 45

5 Steps for Decompressing the Data Packets ..................................................................... 46

6 Checksum Calculation .............................................................................................. 48

7 Example: Function for Decompression. ......................................................................... 49

4
Corporate Data Multicast Specification

8 Annexure-1 ........................................................................................................... 50

9 About SFTP (Secure File Transfer Protocol) .................................................................... 55

9.1 SFTP on Linux platform .......................................................................................... 55

9.2 SFTP on Windows platform ...................................................................................... 57

9.3 Further support ................................................................................................... 60

10 Notes ................................................................................................................. 61

10.1 Field layout ....................................................................................................... 61

10.2 Byte Endianness ................................................................................................. 61

11 Support Information ............................................................................................... 62

5
Corporate Data Multicast Specification

Corporate Data - Realtime Data Technical Specification

1. Introduction

NSE Data & Analytics Ltd. disseminates NSEIL’s real time broadcast data to
various information agencies. It provides 7 different types of data products viz.

1. Real Time Data


2. Snapshot Data
3. End of Day Data
4. Corporate Data
5. Analytical Products data
6. Historical Data
7. Indicative NAV Data

The realtime data and corporate data is a packet broadcast available for
dissemination through feed, whereas the snapshot data, end of day data and
historical data is available in the form of files. All these data products come
under Infofeed application.

INFOFEED

Realtime Data Snapshot EOD Data Corporate Historical


INAV
Data (CM/FAO/WDM) Data Data
(CM/FO/CD/COM/
NSE IX)
Market Feed 1 Minute CM INAV Realtime
(Level 1) Snapshot Feed
Announcements,
(CM/FO/CD/WDM/COM/ (CM/FO) Quick Results
CBRICS/NSE IX) Debt INAV

2 Minute EOD Data


Market Feed Snapshot Announcements,
Quick Results,
(Level 2) (CM/FO) Company Results,
Distribution
(CM/FO/CD/WDM/COM/
Schedule
CBRICS/NSE IX) 5 Minute
Snapshot
Market Feed (CM/FO/CD/WDM)

(Level 3)
(CM) 15 Minute
Delayed
Index Feed Snapshot
(CM/FO/NSE IX)

MTBT Feed
(CM/CD/NSE IX) One-day
Delayed
Feed
Analytical Feed (CM/FO/CD)
(CM/FO)

6
Corporate Data Multicast Specification

In Infofeed’s Real Time Data product following sub-products are available

1. Market Feed (CM/FO/CD/WDM/COM/CBRICS/NSE IX Level 1)


2. Market Feed (CM/FO/CD/WDM/COM/CBRICS/NSE IX Level 2)
3. Market Feed (CM Level 3)
4. Index Feed
5. MTBT Feed (CM/CD/NSE IX)
6. Analytical Feed (CM/ FO)
7. Historical Data (CM/FO/CD/COM/NSE IX)
8. Corporate Data

This document explains about the NSE – Market Feed (FO Level 1 & Level 2)
products. Through this product on real time basis all the NSE’s market update
information is disseminated.
The information agencies connect to the Market Feed Server through Leased Lines.
These leased lines are terminated on Infofeed Router and their data specific
pneumonic calls are forwarded to Infofeed server.
The feed consists of series of sequenced and unsequenced variable length
compressed messages. The compression algorithm used over here is LZO –
Compression.

In Realtime Corporate Data product information will be disseminated from 02:00


to 22:30 (IST) by the application as follows:

1. Corporate Announcements – (Realtime)


2. Company Results – (End of Day)
a. Company Financial Result
b. Segment wise Result
3. Distribution schedule – (End of Day)
a. Shareholding Pattern Declaration
b. Shareholding Pattern Details
c. Promoters Shareholding Details
d. Public Shareholding Details
e. Non-Promoter-Non-Public Shareholding Details
f. Details of Promoter Shareholding Which Remain Unclaimed
g. Details of Shareholders Acting as Persons in Concert
h. Details of Public Shareholding Which Remain Unclaimed

7
Corporate Data Multicast Specification

2. Connection Details

2.1 Packet Format

Compressed/Uncompressed:
This field tells whether packet is compressed or not compressed.

If this Field = 0 then Compressed.


else if Field = 1 then Uncompressed.

Number of Records:
This field tells the number of records present in the compressed packets.

Packet length:
This field specifies the total packet length.

Structure COM_HEADER
{
char cCompOrNot;
short iPackLen;
short iNoOfPack;
};

8
Corporate Data Multicast Specification

• As the data packets are sent in compressed format there is a need to


decompress them. The compression algorithm used is LZO.
• The Decompression algorithm used should be LZO.

9
Corporate Data Multicast Specification

2.2 Data Types

Data types used in feed:

Data Type Size In Bytes


CHAR 1
SHORT 2
INT 4
LONG 4
LONG LONG 8
DOUBLE 8

10
Corporate Data Multicast Specification

3. Data Details

The real time data is disseminated in the form of multicast packets and each
single packet is generated by the application with a definite structure i.e.
Header, Data body and Trailer.

The Header
The header in turn consists of 3 fields – Code, Length and Sequence number.
The details of these fields are explained as below.
• Code – It is a short data type field that provides the information about
the type of data that each packet contains.
• Length – It is a 2-byte short data type field that provides the length
of record within each packet of NSEIL real time data. This includes the
length of Header, Data and Trailer.
• Sequence Number – It is a 4-byte ASCII field that provides the
sequence number of each packet that is disseminated in NSEIL real
time data. Corporate Announcement, Company Result and Distribution
Schedule packets maintain its own sequence number. All the three
sequence numbers will start from 1 every day. When there is no data
to disseminate, application will send the heartbeat signal. Heartbeat
sequence number is also maintained separately.

The Data Body


The following information is provided in data block -
a. Corporate Announcement
b. Company Result
c. Segment Wise Result
d. Shareholding Pattern Declaration
e. Shareholding Pattern Details
f. Promoters Shareholding Details
g. Public Shareholding Details
h. Non-Promoter-Non-Public Shareholding Details
i. Details of Promoter Shareholding Which Remain Unclaimed
j. Details of Shareholders Acting as Persons in Concert
k. End of Feed
l. Heartbeat Signal
m. Details of Public Shareholding Which Remain Unclaimed

The Trailer
• Trailer contains a 2-byte checksum and an end of trailer character.
• Checksum is calculated using the algorithm given in section Checksum
Calculation
• End of trailer character is ‘\r’.

11
Corporate Data Multicast Specification

4. Data Structure Details

4.1 Corporate Announcement & Quick Result

Corporate Announcement & Quick Result packet will be sent by the application as
and when any announcement or quick result is published by the Exchange.

Field Name Data Type Value Brief Description


COMP HEADER
‘0’ = Compressed,
Compressed or not CHAR [1] Character
‘1’ = Uncompressed
Number of Packets * Size of (Info
Packet Length SHORT Numeric
Header + Data + Info Trailer)
Number of Packets SHORT Numeric Number of records
INFO HEADER
Code SHORT 1004 Transcode
Sizeof (Info Header + Data +
Length SHORT Numeric
Info Trailer)
Sequence Number LONG Numeric CA Sequence number
DATA
Symbol CHAR [11] Character Security Symbol

Brief description about


CA Description CHAR [65] Character announcements or financial
result update

Details about the announcement


CA Details CHAR [2048] Character
or quick financial result

Announcement date
CA Date CHAR [13] Character
(DDMMYYYYHHmm)
CA Attachment File
CHAR [200] Character Attachment filename
Name
INFO TRAILER
Refer section Checksum
Checksum SHORT Numeric
Calculation

End Of Trailer CHAR [1] Character ‘\r’

Corresponding Attachment file shall be available over SFTP. Please refer section
About SFTP for information on SFTP Protocol.

12
Corporate Data Multicast Specification

4.2 Company Result

4.2.1 Company Financial Result

Company Financial Result packet will be sent by the application as and


when any result is published on the Exchange.

Field Name Data Type Value Description

COMP HEADER
‘0’ = Compressed,
Compressed or not CHAR [1] Character
‘1’ = Uncompressed
Number of Packets *Size of (Info
Packet Length SHORT Numeric
Header+ Data+ Info Trailer)
Number of Packets SHORT Numeric Number of records

INFO HEADER

Code SHORT 1005 Transcode

Sizeof (Info Header + Data + Info


Length SHORT Numeric
Trailer)

Sequence Number LONG Numeric CR Sequence number

DATA

This result record sequence


Result Sequence
LONG Numeric number is referred in ‘Segment
Number
Wise Result’ packet structure

Symbol CHAR [11] Character Security Symbol

‘B’ – Banking,
Category CHAR [1] Character ‘N’ - Nonbanking,
‘A’ - Alternative

Result Period From


From Date CHAR [11] Character [YYYY-MM-DD]

Result Period To
To Date CHAR [11] Character
[YYYY-MM-DD]

13
Corporate Data Multicast Specification

Audited (A),
Unaudited(U),
Result Type CHAR [3] Character
Project Status
Report

“Q1” = Quarter 1,
“Q2” =Quarter 2,
“Q3” =Quarter 3,
Period Type CHAR [3] Character “Q4” =Quarter 4,
“H1” =Half Yearly,
“AN” =Annual,
“OT” =Others

Cumulative ‘C’ = Cumulative,


CHAR [1] Character
Noncumulative ‘N’ = Noncumulative

Consolidated Non ‘C’ = Consolidated,


CHAR [1] Character
Consolidated ‘N’ = Nonconsolidated

Net Sales Income DOUBLE Numeric Net Sales Income

Other Income DOUBLE Numeric Other Income

Total Income1 DOUBLE Numeric Total Income1


Increase in Stock in
DOUBLE Numeric Increase in Stock in Trade
Trade
Consumption of raw
DOUBLE Numeric Consumption of raw materials
materials

Employee Cost DOUBLE Numeric Employee Cost

Total Expenditure1 DOUBLE Numeric Total Expenditure1

Other Expenditure DOUBLE Numeric Other Expenditure

Total Expenditure2 DOUBLE Numeric Total Expenditure2

Interest DOUBLE Numeric Interest

PBDT DOUBLE Numeric Gross profit after interest


Depreciation DOUBLE Numeric Depreciation

Profit (+)/Loss (-)


Profit (+)/Loss (-) from Ordinary
from Ordinary DOUBLE Numeric
Activities before Tax
Activities before Tax

Tax Expenses DOUBLE Numeric Tax Expenses


Other Provision DOUBLE Numeric Other Provision
Misc expenditure w/o DOUBLE Numeric Misc expenditure w/o

14
Corporate Data Multicast Specification

Net Profit (+)/Loss (- Net Profit (+)/Loss (-) for the


DOUBLE Numeric
) for the Period Period

Non-Rec Income DOUBLE Numeric Non-Rec Income

Non-Rec Expenses DOUBLE Numeric Non-Rec Expenses

Adjusted net profit DOUBLE Numeric Adjusted net profit

Face value of share Face value of share


DOUBLE Numeric
(In Rs.) (In Rs.)
Paid-up equity share
DOUBLE Numeric Paid-up equity share capital
capital

Reserves excluding Reserves excluding revaluation


DOUBLE Numeric
revaluation reserves reserves

Dividend (%) FLOAT Numeric Dividend (%)

Basic EPS after Basic EPS after


Extraordinary Items DOUBLE Numeric Extraordinary Items
(In Rs.) (In Rs.)

Diluted EPS after Diluted EPS after


Extraordinary Items DOUBLE Numeric Extraordinary Items
(In Rs.) (In Rs.)

Non-promoter Non-promoter shareholding


DOUBLE Numeric
shareholding (Nos.) (Nos.)

Non-promoter
FLOAT Numeric Non-promoter shareholding (%)
shareholding (%)

Public shareholding Public shareholding


DOUBLE Numeric
(Nos.) (Nos.)

Public shareholding Public shareholding


FLOAT Numeric
(%) (%)

Interest/discount on Interest/discount on
DOUBLE Numeric
advances/bills advances/bills

Income on Income on
DOUBLE Numeric
Investments Investments

balances with RBI


balances with RBI and other
and other interbank DOUBLE Numeric
interbank funds
funds

Others DOUBLE Numeric Others


Interest Earned DOUBLE Numeric Interest Earned

15
Corporate Data Multicast Specification

Total Income2 DOUBLE Numeric Total Income2


Interest Expended DOUBLE Numeric Interest Expended
Payment to and
Payment to and provisions for
provisions for DOUBLE Numeric
employees
employees
Other operating
DOUBLE Numeric Other operating expenses
expenses
Operating Expenses DOUBLE Numeric Operating Expenses
Total Expenditures
Total Expenditures excluding
excluding Provisions DOUBLE Numeric
Provisions & Contingencies
& Contingencies
Operating Profit
Operating Profit before Provisions
before Provisions & DOUBLE Numeric
& Contingencies
Contingencies

Provisions (Other
Provisions (Other than Tax) &
than Tax) & DOUBLE Numeric
Contingencies
Contingencies

Shares held by Shares held by


Government of FLOAT Numeric Government of India
India (%) (%)

Capital Adequacy Capital Adequacy


DOUBLE Numeric
Ratio Ratio

0 If Result Is Banking or Non-


Gross Profit DOUBLE Numeric
Banking

Operating Profit
0 If Result Is Banking or Non-
before interest and DOUBLE Numeric
Banking
depreciation
General
0 If Result Is Banking or Non-
Administrative DOUBLE Numeric
Banking
Expenses

0 If Result Is Banking or Non-


Sell distribution DOUBLE Numeric
Banking

Operating Profit after


0 If Result Is Banking or Non-
interest and DOUBLE Numeric
Banking
depreciation

‘V’ = Revision,
‘F’ = Refilling,
FRF Flag CHAR [1] Character
‘G’ = Regrouping,
‘N’ = None (No Change)

16
Corporate Data Multicast Specification

FRF Link INT Numeric FRF Link

For Revision/Refilling/Re
Result Create Date CHAR [21] Character grouping "On Date" Format (DD-
MON- YYYY HH24:MI:SS)

Purchase of Traded Purchase of Traded


DOUBLE Numeric
Goods Goods
Depreciation DOUBLE Numeric Depreciation
Exceptional Items DOUBLE Numeric Exceptional Items

Net Profit (+)/Loss (-


Net Profit (+)/Loss (-) from
) from ordinary DOUBLE Numeric
ordinary Activities after Tax
Activities after Tax

Extraordinary Items DOUBLE Numeric Extraordinary Items


Minority Interest DOUBLE Numeric Minority Interest
Share of Associates DOUBLE Numeric Share of Associates
Other related Items Other related Items
DOUBLE Numeric
(Consolidated) (Consolidated)

Consolidated Net
Consolidated Net Profit (+)/Loss
Profit (+)/Loss (-) for DOUBLE Numeric
(-) for the Period
the Period

Basic EPS before Basic EPS before


Extraordinary Items DOUBLE Numeric Extraordinary Items
(In Rs.) (In Rs.)
Diluted EPS before Diluted EPS before
DOUBLE Numeric
Extraordinary Items Extraordinary Items
Gross/Net NPA DOUBLE Numeric Gross/Net NPA
Percentage Percentage
FLOAT Numeric
Gross/Net NPA Gross/Net NPA
Return on Assets DOUBLE Numeric Return on Assets

Operating Profit
DOUBLE Numeric Operating Profit before Interest
before Interest

Operating Profit after


Operating Profit after Interest
Interest and DOUBLE Numeric
and Exceptional Items
Exceptional Items

Other Operating Other Operating


DOUBLE Numeric
Income Income

17
Corporate Data Multicast Specification

Profits from
operations before Profits from operations before
Other Income, DOUBLE Numeric Other Income,
Interest & Interest & Exceptional Items
Exceptional Items

Other Income 2 DOUBLE Numeric Other Income

Profit before Profit before


Interest & DOUBLE Numeric Interest &
Exceptional Items Exceptional Items
Interest 2 DOUBLE Numeric Interest

Profit after Interest


Profit after Interest but before
but before DOUBLE Numeric
Exceptional Items
Exceptional Items

Exceptional Items 2 DOUBLE Numeric Exceptional Items


CHAR
Result Remarks Character Result Remarks
[2001]
Segment Information CHAR Segment Information
Character
Remarks [2001] Remarks
DDMMYYYYHHMMSS
Date Time stamp CHAR [15] Character
format
INFO TRAILER
Refer section 6. Checksum
Checksum SHORT Numeric
Calculation

End Of Trailer CHAR [1] Character ‘\r’

18
Corporate Data Multicast Specification

19
Corporate Data Multicast Specification

4.2.2 Segment Wise Result

Segment wise result packet will be sent by application as and when it is


published on the Exchange.

Field Name Data Type Value Description

COMP HEADER

‘0’ = Compressed,
Compressed or not CHAR [1] Character
‘1’ = Uncompressed
Number of Packets *Size of
Packet Length SHORT Numeric (Info Header+ Data+ Info
Trailer)

Number of Packets SHORT Numeric Number of records

INFO HEADER

Code SHORT 1006 Transcode

Sizeof (Info Header + Data +


Length SHORT Numeric
Info Trailer)

Sequence Number LONG Numeric CA Sequence number

DATA

Company Result Reference to the ‘Company


reference sequence LONG Numeric Result’ record sequence
Number number

“CE” = Capital Employed,


Segment Type CHAR [3] Character “RE” = Results,
“RV” = Revenue
Primary Segment
CHAR [51] Character Primary Segment Name
Name

Secondary Segment
CHAR [51] Character Secondary Segment Name
Name
Segment Value DOUBLE Numeric Segment Value
Field to be added or ‘A’ = Added,
CHAR [1] Character
subtracted ‘S’ = Subtracted

Date Time stamp CHAR [15] Character DDMMYYYYHHMMSS format

INFO TRAILER
Refer section 6. Checksum
Checksum SHORT Numeric
Calculation

20
Corporate Data Multicast Specification

End Of Trailer CHAR [1] Character ‘\r’

4.3 Distribution Schedule

4.3.1 Shareholding Pattern Declaration

Shareholding Pattern Declaration packet structure comes under the


Distribution Schedule.

Field Name Data Type Value Description

COMP HEADER

‘0’ = Compressed,
Compressed or not CHAR [1] Character
‘1’ = Uncompressed

Number of Packets
Packet Length SHORT Numeric *Size of (Info Header+
Data+ Info Trailer)

Number of Packets SHORT Numeric Number of records

INFO HEADER

Code SHORT 1007 Transcode

Sizeof (Info Header +Data +


Length SHORT Numeric
Info Trailer)

Sequence Number LONG Numeric DS Sequence number

DATA

Symbol CHAR [11] Character Security symbol


Series CHAR [3] Character Series type (e.g. EQ)
Security Name CHAR [151] Character Security Name
Company Name CHAR [151] Character Company Name
Distribution Schedule
provided is recorded on this
As On Date CHAR [12] Character
date. Date in DD-MMM- YYYY
format
Sr. No. CHAR [6] Character Shareholder category code

Shareholder category
Particulars CHAR [101] Character
description

21
Corporate Data Multicast Specification

Promotor &
CHAR [11] Character Shareholder category type
Promotor Group

Public CHAR [4] Character Shareholder category type

Non-Promotor Non-
CHAR [4] Character Shareholder category type
Public

INFO TRAILER

Refer section 6. Checksum


Checksum SHORT Numeric
Calculation
End Of Trailer CHAR [1] Character ‘\r’

22
Corporate Data Multicast Specification

4.3.2 Shareholding Pattern Details

Shareholding Pattern details packet structure comes under the Distribution


Schedule. This packet will be sent by the application as End of Day feed.

Field Name Data Type Value Description

‘0’ = Compressed,
Compressed or not CHAR [1] Character
‘1’ = Uncompressed

Number of Packets
Packet Length SHORT Numeric *Size of (Info Header+
Data+ Info Trailer)

Number of Packets SHORT Numeric Number of records

INFO HEADER

Code SHORT 1008 Transcode

Sizeof (Info Header +Data


Length SHORT Numeric
+ Info Trailer)

Sequence Number LONG Numeric DS Sequence number

DATA

Symbol CHAR [11] Character Security symbol

Series CHAR [3] Character Series type (e.g. EQ)

Security Name CHAR [151] Character Security Name

Company Name CHAR [151] Character Company Name

Distribution Schedule provided


As On Date CHAR [12] Character is recorded on this date.
Date in DD-MMM- YYYY format

Category CHAR [51] Character Shareholder category code

Category of Shareholder category


CHAR [101] Character
shareholder description
Number of
LONG LONG Numeric Number of shareholders
shareholders
Number of Number of fully paid-up equity
LONG LONG Numeric
shareholders shares held
Number of Partly
Number of Partly paid- up
paid-up equity LONG LONG Numeric
equity shares held
shares held
Number of shares Number of shares underlying
LONG LONG Numeric
underlying Depository Receipts

23
Corporate Data Multicast Specification

Depository Receipts

Total number of
LONG LONG Numeric Total number of shares held
shares held

Shareholding as a %
of total number of
shares (calculated as DOUBLE Numeric Total Share held percentage
per SCRR, 1957)
As a % of (A+B+C2)

Number of Voting
Number of Voting Rights held
Rights held in each
LONG LONG Numeric in each class of securities
class of securities
Class eg: X
Class eg: X

Number of Voting
Number of Voting Rights held
Rights held in each
LONG LONG Numeric in each class of securities
class of securities
Class eg: Y
Class eg: Y
Number of Voting
Number of Voting Rights held
Rights held in each
LONG LONG Numeric in each class of securities:
class of securities:
total
total
Number of Voting
Rights held in each Number of Voting Rights held
class of securities: DOUBLE Numeric in each class of securities:
Total as a % of Total as a % of (A+B+C)
(A+B+C)
Number of Shares
Number of Shares
Underlying
Underlying Outstanding
Outstanding LONG LONG Numeric
convertible securities
convertible securities
(including Warrants)
(including warrants)

Shareholding, as a
% assuming full
conversion of Shareholding, as a %
convertible assuming full conversion of
securities (as a DOUBLE Numeric convertible securities (as a
percentage of percentage of diluted share
diluted share capital) As a % of (A+B+C2)
capital) As a % of
(A+B+C2)

Number of Locked in
LONG LONG Numeric Number of Locked in shares
shares
Number of Locked in
Number of Locked in shares as
shares as a % of DOUBLE Numeric
a % of total Shares held
total Shares held

24
Corporate Data Multicast Specification

Number of Shares
Number of Shares pledged or
pledged or otherwise LONG LONG Numeric
otherwise encumbered
encumbered

Number of Shares
Number of Shares pledged or
pledged or otherwise
DOUBLE Numeric otherwise encumbered as a %
encumbered as a %
of total Shares held
of total Shares held

Number of equity
Number of equity shares held
shares held in LONG LONG Numeric
in dematerialized form
dematerialized form

INFO TRAILER

Refer section 6. Checksum


Checksum SHORT Numeric
Calculation

End Of Trailer CHAR [1] Character ‘\r’

25
Corporate Data Multicast Specification

4.3.3 Promoters Shareholding Details

Promoters Shareholding details packet structure comes under the


Distribution Schedule. This packet will be sent by the application as End of
Day feed.

Field Name Data Type Value Description


COM HEADER

‘0’= Compressed,
Compressed or not CHAR [1] Character
‘1’ = Uncompressed
Number of Packets
Packet Length SHORT Numeric *Size of (Info Header+
Data+ Info Trailer)
Number of Packets SHORT Numeric Number of records

INFO HEADER

Code SHORT 1009 Transcode

Sizeof ( Info Header +Data


Length SHORT Numeric
+ Info Trailer)

Sequence Number LONG Numeric DS Sequence number

DATA

Symbol CHAR [11] Character Security symbol


Series type (e.g.
Series CHAR [3] Character
EQ)
Security Name CHAR [151] Character Security Name
Company Name CHAR [151] Character Company Name
Distribution Schedule provided
As On Date CHAR [151] Character is recorded on this date.
Date in DD-MMM- YYYY format

Category CHAR [51] Character Shareholder category code

PAN CHAR [11] Character PAN number of shareholder

Category of Shareholder category


CHAR [101] Character
shareholder description

Number of
LONG LONG Numeric Number of shareholders
shareholders

26
Corporate Data Multicast Specification

Number of fully paid- Number of fully paid-up equity


LONG LONG Numeric
up equity shares held shares held

Number of Partly
Number of Partly paid- up
paid-up equity shares LONG LONG Numeric
equity shares held
held
Number of shares
Number of shares underlying
underlying LONG LONG Numeric
Depository Receipts
Depository Receipts
Total number of
LONG LONG Numeric Total number of shares held
shares held

Shareholding as a %
of total number of
shares (calculated as DOUBLE Numeric Total Share held percentage
per SCRR, 1957) As a
% of (A+B+C2)

Number of Voting
Number of Voting Rights held in
Rights held in each
LONG LONG Numeric each class of securities
class of securities
Class eg: X
Class eg: X
Number of Voting
Number of Voting Rights held in
Rights held in each
LONG LONG Numeric each class of securities
class of securities
Class eg: Y
Class eg: Y
Number of Voting
Number of Voting Rights held in
Rights held in each
LONG LONG Numeric each class of securities:
class of securities:
total
total
Number of Voting
Number of Voting Rights held
Rights held in each
in each class of securities:
class of securities: DOUBLE Numeric
Total as a % of
Total as a % of
(A+B+C)
(A+B+C)
Number of Shares
Underlying Number of Shares
Outstanding Underlying Outstanding
LONG LONG Numeric
convertible securities convertible securities (including
(including Warrants)
Warrants)
Shareholding, as a %
assuming full Shareholding, as a % assuming
conversion of full conversion of convertible
convertible securities DOUBLE Numeric securities (as a percentage of
(as a percentage of diluted share capital) As a %
diluted share capital) of (A+B+C2)
As a % of (A+B+C2)

27
Corporate Data Multicast Specification

Number of Locked in
LONG LONG Numeric Number of Locked in shares
shares
Number of Locked in
Number of Locked in shares as
shares as a % of total DOUBLE Numeric
a % of total Shares held
Shares held
Number of Shares
Number of Shares pledged or
pledged or otherwise LONG LONG Numeric
otherwise encumbered
encumbered
Number of Shares
Number of Shares pledged or
pledged or otherwise
DOUBLE Numeric otherwise encumbered as a %
encumbered as a %
of total Shares held
of total Shares held
Number of equity
Number of equity shares held in
shares held in LONG LONG Numeric
dematerialized form
dematerialized form
Unique parent ID which is used
Parent ID LONG LONG Numeric
for mapping and aggregation.
INFO TRAILER
Refer section 6. Checksum
Checksum SHORT Numeric
Calculation
End Of Trailer CHAR [1] Character ‘\r’

Under Any Other Category in Category field, if subsequent packet has NULL field populated
under Category code, in this case a new Category of shareholder will be defined.
Subsequent packets will contain a unique Parent ID for mapping and aggregation of
shareholding details.

28
Corporate Data Multicast Specification

29
Corporate Data Multicast Specification

4.3.4 Public Shareholding Details

Public Shareholding details packet structure comes under the Distribution


Schedule. This packet will be sent by the application as End of Day feed.

Field Name Data Type Value Description

COMP HEADER

‘0’ = Compressed,
Compressed or not CHAR [1] Character
‘1’ = Uncompressed

Number of Packets
Packet Length SHORT Numeric *Size of (Info Header+ Data+
Info Trailer)

Number of Packets SHORT Numeric Number of records

INFO HEADER

Code SHORT 1010 Transcode

Sizeof (Info Header +Data


Length SHORT Numeric
+ Info Trailer)

Sequence Number LONG Numeric DS Sequence number

DATA

Symbol CHAR [11] Character Security symbol

Series CHAR [3] Character Series type (e.g. EQ)

Security Name CHAR [151] Character Security Name

Company Name CHAR [151] Character Company Name

Distribution Schedule provided


As On Date CHAR [12] Character is recorded on this date. Date
in DD-MMM- YYYY format

Category CHAR [51] Character Shareholder category code


PAN CHAR [11] Character PAN number of shareholder

Category of Shareholder category


CHAR [101] Character
shareholder description

Number of
LONG LONG Numeric Number of shareholders
shareholders

30
Corporate Data Multicast Specification

Number of fully paid- Number of fully paid-up equity


LONG LONG Numeric
up equity shares held shares held

Number of Partly
Number of Partly paid- up
paid-up equity LONG LONG Numeric
equity shares held
shares held
Number of shares
Number of shares underlying
underlying LONG LONG Numeric
Depository Receipts
Depository Receipts
Total number of
LONG LONG Numeric Total number of shares held
shares held

Shareholding as a %
of total number of
shares (Calculated as DOUBLE Numeric Total Share held percentage
per SCRR, 1957)
As a % of (A+B+C2)

Number of Voting
Number of Voting Rights held
Rights held in each
LONG LONG Numeric in each class of securities
class of securities
Class eg: X
Class eg: X

Number of Voting
Number of Voting Rights held
Rights held in each
LONG LONG Numeric in each class of securities
class of securities
Class eg: Y
Class eg: Y

Number of Voting
Number of Voting Rights held
Rights held in each
LONG LONG Numeric in each class of securities:
class of securities:
total
total
Number of Voting
Number of Voting Rights held
Rights held in each
in each class of securities:
class of securities: DOUBLE Numeric
Total as a % of
Total as a % of
(A+B+C)
(A+B+C)
Number of Shares
Number of Shares
Underlying
Underlying Outstanding
Outstanding
LONG LONG Numeric convertible securities
convertible securities
(including
(including
Warrants)
Warrants)
Shareholding, as a % Shareholding, as a %
assuming full assuming full conversion of
conversion of DOUBLE Numeric convertible securities (as a
convertible securities percentage of diluted share
(as a percentage of capital) As a % of

31
Corporate Data Multicast Specification

diluted share capital) (A+B+C2)


As a % of
(A+B+C2)

Number of Locked in
LONG LONG Numeric Number of Locked in shares
shares
Number of Locked in
Number of Locked in shares as
shares as a % of DOUBLE Numeric
a % of total Shares held
total Shares held

Number of Shares
Number of Shares pledged or
pledged or otherwise LONG LONG Numeric
otherwise encumbered
encumbered

Number of Shares
Number of Shares pledged or
pledged or otherwise
LONG LONG Numeric otherwise encumbered as a %
encumbered as a %
of total Shares held
of total Shares held
Number of equity
Number of equity shares held
shares held in LONG LONG Numeric
in dematerialized form
dematerialized form

Unique parent ID which is used


Parent ID LONG LONG Numeric
for mapping and aggregation.

INFO TRAILER

Refer section 6. Checksum


Checksum SHORT Numeric
Calculation
End Of Trailer CHAR [1] Character ‘\r’

Under Any Other Category in Category field, if subsequent packet has NULL field populated
under Category code, in this case a new Category of shareholder will be defined.
Subsequent packets will contain a unique Parent ID for mapping and aggregation of
shareholding details.

32
Corporate Data Multicast Specification

4.3.5 Non-Promoter Non-Public Shareholding Details

Non-Promoter – Non-Public shareholding details packet structure comes


under the Distribution Schedule. This packet will be sent by the application
as End of Day feed.

Field Name Data Type Value Description

COMP HEADER

‘0‘= Compressed,
Compressed or not CHAR [1] Character
‘1’ = Uncompressed

Number of Packets
Packet Length SHORT Numeric *Size of (Info Header+
Data+ Info Trailer)

Number of Packets SHORT Numeric Number of records

INFO HEADER

Code SHORT 1011 Transcode

Sizeof (Info Header +Data


Length SHORT Numeric
+ Info Trailer)

Sequence Number LONG Numeric DS Sequence number

DATA

Symbol CHAR [11] Character Security symbol

Series type (e.g.


Series CHAR [3] Character
EQ)

Security Name CHAR [151] Character Security Name

Company Name CHAR [151] Character Company Name

Distribution Schedule provided


As On Date CHAR [12] Character is recorded on this date. Date
in DD-MMM- YYYY format

33
Corporate Data Multicast Specification

Category CHAR [51] Character Shareholder category code

PAN CHAR [11] Character PAN number of shareholder


Category of Shareholder category
CHAR [101] Character
shareholder description
Number of
LONG LONG Numeric Number of shareholders
shareholders
Number of fully paid- Number of fully paid-up equity
LONG LONG Numeric
up equity shares held shares held

Number of Partly
Number of Partly paid- up
paid-up equity LONG LONG Numeric
equity shares held
shares held

Number of shares
Number of shares underlying
underlying LONG LONG Numeric
Depository Receipts
Depository Receipts
Total number of
LONG LONG Numeric Total number of shares held
shares held

Shareholding as a %
of total number of
shares (Calculated as DOUBLE Numeric Total Share held percentage
per SCRR, 1957)
As a % of (A+B+C2)

Number of Voting
Number of Voting Rights held
Rights held in each
LONG LONG Numeric in each class of securities
class of securities
Class eg: X
Class eg: X
Number of Voting
Number of Voting Rights held
Rights held in each
LONG LONG Numeric in each class of securities
class of securities
Class eg: Y
Class eg: Y
Number of Voting
Number of Voting Rights held
Rights held in each
LONG LONG Numeric in each class of securities:
class of securities:
total
total

Number of Voting
Number of Voting Rights held
Rights held in each DOUBLE Numeric
in each class of securities:
class of securities:
Total as a % of Total as a % of
Numeric
(A+B+C) (A+B+C)

34
Corporate Data Multicast Specification

Number of Shares
Underlying Number of Shares
Outstanding Underlying Outstanding
LONG LONG Numeric
convertible securities convertible securities
(including (including Warrants)
Warrants)
Shareholding, as a
% assuming full
Shareholding, as a %
conversion of
assuming full conversion of
convertible
convertible securities (as a
securities (as a DOUBLE Numeric
percentage of diluted share
percentage of
capital) As a % of
diluted share
(A+B+C2)
capital) As a % of
(A+B+C2)
Number of Locked in
LONG LONG Numeric Number of Locked in shares
shares
Number of Locked in
Number of Locked in shares as
shares as a % of DOUBLE Numeric
a % of total Shares held
total Shares held
Number of Shares
Number of Shares pledged or
pledged or otherwise LONG LONG Numeric
otherwise encumbered
encumbered
Number of Shares
Number of Shares pledged or
pledged or otherwise
DOUBLE Numeric otherwise encumbered as a %
encumbered as a %
of total Shares held
of total Shares held
Number of equity
Number of equity shares held
shares held in LONG LONG Numeric
in dematerialized form
dematerialized form
Unique parent ID which is
Parent ID LONG LONG Numeric used for mapping and
aggregation.
INFO TRAILER
Refer section 6. Checksum
Checksum SHORT Numeric
Calculation
End Of Trailer CHAR [1] Character ‘\r’

Under Any Other Category in Category field, if subsequent packet has NULL field
populated under Category code, in this case a new Category of shareholder will be
defined. Subsequent packets will contain a unique Parent ID for mapping and
aggregation of shareholding details.

35
Corporate Data Multicast Specification

36
Corporate Data Multicast Specification

4.3.6 Details of Promoter Shareholding Which Remain Unclaimed

This packet structure comes under the Distribution Schedule. It contains


the details of Promoters Shareholding which remain unclaimed may be
given here along with details such as number of shareholders, outstanding
shares held in demat/unclaimed suspense account, voting rights which are
frozen etc. This packet will be sent by the application as End of Day feed.

Field Name Data Type Value Description

COMP HEADER

‘0’= Compressed,
Compressed or not CHAR [1] Character
‘1’ = Uncompressed

Number of Packets
Packet Length SHORT Numeric *Size of (Info Header+
Data+ Info Trailer)

Number of Packets SHORT Numeric Number of records

INFO HEADER

Code SHORT 1011 Transcode

Sizeof (Info Header +Data


Length SHORT Numeric
+ Info Trailer)

Sequence Number LONG Numeric DS Sequence number

DATA

Symbol CHAR [11] Character Security symbol

Series CHAR [3] Character Series type (e.g. EQ)

Security Name CHAR [151] Character Security Name

Company Name CHAR [151] Character Company Name

Distribution Schedule
provided is recorded on this
As On Date CHAR [12] Character
date.Date in DD-MMM- YYYY
format

Number of
LONG LONG Numeric Number of shareholders
shareholders
Number of Shares
LONG LONG Numeric Number of shares held
held

37
Corporate Data Multicast Specification

INFO TRAILER

Refer section 6. Checksum


Checksum SHORT Numeric
Calculation
End Of Trailer CHAR [1] Character ‘\r’

38
Corporate Data Multicast Specification

4.3.7 Details of Shareholders Acting as Persons In Concert

Details of Shareholders acting as persons in Concert packet structure comes


under the Distribution Schedule. This packet will be sent by the application as
End of Day feed.

Field Name Data Type Value Description

COMP HEADER

Character ‘0’= Compressed,


Compressed or not CHAR [1]
‘1’ = Uncompressed

Number of Packets
Packet Length SHORT Numeric *Size of (Info Header+
Data+ Info Trailer)

Number of Packets SHORT Numeric Number of records

INFO HEADER

Code SHORT 1012 Transcode

Sizeof (Info Header +Data


Length SHORT Numeric
+ Info Trailer)

Sequence Number LONG Numeric DS Sequence number

DATA

Character
Symbol CHAR [11] Security symbol

Character Series type (e.g.


Series CHAR [3]
EQ)

Character
Security Name CHAR [151] Security Name

Character
Company Name CHAR [151] Company Name

Distribution Schedule
Character provided is recorded on this
As On Date CHAR [12]
date. Date in DD-MMM-
YYYY format

Character
Name of shareholder CHAR [301] Name of shareholder

Character
Name of PAC CHAR [301] Name of PAC

39
Corporate Data Multicast Specification

Number of
LONG LONG Numeric Number of shareholders
shareholders
Holding % DOUBLE Numeric Holding %

INFO TRAILER

Refer section 6. Checksum


Checksum SHORT Numeric
Calculation
End Of Trailer CHAR [1] Character ‘\r’

40
Corporate Data Multicast Specification

4.3.8 Details of Public Shareholding Which Remain Unclaimed

This packet structure comes under the Distribution Schedule. It consists of


details of Public Shareholding which remain unclaimed may be given here
along with details such as number of shareholders, outstanding shares held
in demat/unclaimed suspense account, voting rights which are frozen etc.
This packet will be sent by the application as End of Day feed.

Field Name Data Type Value Description

COMP HEADER

‘0’= Compressed,
Compressed or not CHAR [1] Character
‘1’ = Uncompressed

Number of Packets
Packet Length SHORT Numeric *Size of (Info Header+
Data+ Info Trailer))
Number of Packets SHORT Numeric Number of records

INFO HEADER

Code SHORT 1013 Transcode

Sizeof (Info Header


Length SHORT Numeric
+Data + Info Trailer)

Sequence Number LONG Numeric DS Sequence number

DATA

Symbol CHAR [11] Character Security symbol

Series CHAR [3] Character Series type (e.g. EQ)

Security Name CHAR [151] Character Security Name


Company Name CHAR [151] Character Company Name

41
Corporate Data Multicast Specification

Distribution Schedule
provided is recorded on
As On Date CHAR [12] Character
this date. Date in DD-
MMM-YYYY format

Number of
LONG LONG Numeric Number of shareholders
shareholders
Number of Shares
LONG LONG Numeric Number of Shares held
held

INFO TRAILER

Refer section 6. Checksum


Checksum SHORT Numeric
Calculation
End Of Trailer CHAR [1] Character ‘\r’

42
Corporate Data Multicast Specification

4.4 End of the Feed

This packet will indicate that the online feed dissemination is complete and
offline data dissemination will start.

Field Name Data Type Value Description

COM HEADER

‘0’ = Compressed,
Compressed or not CHAR [1] Character
‘1’ = Uncompressed

Number of Packets * Size


Packet Length SHORT Numeric of (Info Header + Data +
Info Trailer)

Number of Packets SHORT Numeric Number of records

INFO HEADER

Sizeof (Info Header +


Length SHORT Numeric
Data + Info Trailer)

Sequence Number LONG Numeric Always 0

DATA
Not associated with any data.

INFO TRAILER

Refer section Checksum


Checksum SHORT Numeric
Calculation

End Of Trailer CHAR [1] Character ‘\r’

43
Corporate Data Multicast Specification

44
Corporate Data Multicast Specification

4.5 Heartbeat Signal

The Heartbeat packets are sent throughout the day from 02:00 to 22:30 (IST)
This packet indicates to the Info-Vendors that data packets are received from the
application. A separate sequence number will be maintained for Heartbeat signal.

Field Name Data Type Value Description

COM HEADER

‘0’ = Compressed,
Compressed or not CHAR [1] Character
‘1’ = Uncompressed

Number of Packets * Size


of
Packet Length SHORT Numeric
(Info Header + Data +
Info Trailer)

Number of Packets SHORT Numeric Number of records

INFO HEADER

Sizeof (Info Header +


Length SHORT Numeric
Data + Info Trailer)

Heartbeat packet
Sequence Number LONG Numeric
sequence number
DATA
Not associated with any ASCII data.

INFO TRAILER

Refer section Checksum


Checksum SHORT Numeric
Calculation

End Of Trailer CHAR [1] Character ‘\r’

45
Corporate Data Multicast Specification

5 Steps for Decompressing the Data Packets

The LZO stands for Lempel Ziv Oberhaumer. It is a data compression library which
is suitable for data Decompression in real-time. This means it favors speed over
compression ratio.
LZO is written in ANSI C. Both the source code and the compressed data format
are designed to be portable across platforms. This algorithm is freely available on
the internet (URL: https://www.oberhumer.com/opensource/lzo/). It is made
available by free software foundation. The algorithm is tested on various operating
systems like UNIX and Red Hat Linux.

LZO implements several algorithms with the following features.


• Decompression is simple and *very* fast.
• Requires no memory for decompression.
• Compression is fast.
• Requires 64 KB of memory for compression.
• Allows you to dial up extra compression at a speed cost in the
Compressor.
• The speed of the decompression is not reduced.
• Includes compression levels for generating pre-compressed data
which achieve a quite competitive compression ratio.
• There is also a compression level which needs only 8 KB for
Compression.
• Algorithm is thread safe.
• Algorithm is lossless.
• LZO supports overlapping compression and in-place decompression.

Files required for LZO algorithm.


• Include files, source files (src) provided by LZO - LZO.lib

Decompression steps:

1. Receive the packet in the temporary buffer i.e. array of characters.


2. First field will identify whether the packet is compressed or not.
3. If this field is 0 then Decompress it using LZO algorithm else if 1
don’t decompress it and proceed in normal way as it is being done
today.
4. The second field is packet length.
5. The third field contains the number of records in the packet.
6. If compressed use following function of LZO to Decompress.

r = lzo1z_decompress ((unsigned char *) cInputBuf, ipLength, (unsigned char*)


cOutputBuf, opLength, NULL);

lzo1z_decompress: Function which decompresses the data packet receive.


CInputBuf: Input buffer in which compressed data is received.

46
Corporate Data Multicast Specification

IpLength: The length of the packet which application has received using
Receive ().
COutputBuf: The uncompressed output data which is result of
decompression.
OpLength: Length of uncompressed data
7. After decompression data will be available in Output Buffer.
8. Map the outputbuf to existing Header structure according to iCode field
available in header structure.
9. Look for Record size in the length field and Code.
10.Steps to recover data from OutputBuf is as follows.

Algorithm:
Length_of_Record = Header->length;
Sequence_no = Header->Sequence_num;
For I = 0 to Number of records (obtained in step 4)
Begin
Bytes_to_seek = Length_of_Record * I
Seek to number of Bytes_to_seek
Map (Length_of_Record) of Bytes to proper structure according to iCode
as found in Header part.
Do the required processing….
….
End
End for Loop.

47
Corporate Data Multicast Specification

6 Checksum Calculation

Checksum is calculated for the Data part of the packet.


The Checksum routine followed for Info Vendor Feed is as follows:

// Following are the macros for checksum calculation


#define DC1 17
#define DC3 19
#define CR 13
#define LF 10
#define POLY 0x1021
// End of defines

unsigned check_sum (cData, iLength)


char *cData ;
int iLength;
{
unsigned uAccum = 0;
unsigned uData;
unsigned char ucChk[2];
int i,j;
for (i=0;i<iLength;i++){

uData = *(cData+i);
uData <<= 8;

for(j=8;j>0;j--){
if((uData^uAccum)&0x8000)
uAccum=(uAccum<<1)^POLY;
/* SHIFT AND SUBTRACT POLY */
else
uAccum<<=1;
uData<<=1;
}
}
ucChk[0] = uAccum>>8;
if (ucChk[0] == DC1 || ucChk[0] == DC3 || ucChk[0] == CR || ucChk[0] ==
LF )
ucChk[0] -= 1;
ucChk[1] = uAccum&0xFF;
if (ucChk[1] == DC1 || ucChk[1] == DC3 || ucChk[1] == CR || ucChk[1]
== LF )
ucChk[1] -= 1;
uAccum = ucChk[1];
uAccum = (uAccum<<8) + ucChk[0];

return(uAccum);
}

48
Corporate Data Multicast Specification

7 Example: Function for Decompression.

lzo_decomp (char cInputBuf [], unsigned int ipLength, char cOutputBuf [],
unsigned *opLength, unsigned short * lzo_errorcode)
{
int r;
char mess [50];
r = lzo1z_decompress ((unsigned char *) cInputBuf, ipLength,
(unsigned char *) cOutputBuf, opLength, NULL);

if ( r == LZO_E_OK)
{
print (mess,” Decompressed %lu Bytes back into %lu Bytes\n",
(long) ipLength, (long) *opLength); return true;
}
else

OutputDebug ("Internal error - decompression failed");


return false;
}
}

49
Corporate Data Multicast Specification

8 Annexure-1

Distribution Schedule Category Detail

Category Category Master Class Main Class Sub Class


Id Code

6 a) Shareholding Promoter &


Pattern Details Promoter
Group
7 a) Shareholding Public
Pattern Details
8 a) Shareholding Non-Promoter-
Pattern Details Non
Public
9 b) Shareholding Non-Promoter- Shares underlying DRs
Pattern Details Non
Public
10 c) Shareholding Non-Promoter- Shares held by
Pattern Details Non Employee Trusts
Public
11 a) Shareholding of Indian
Promoter and
Promoter
Group
12 (b) Shareholding of Indian Individuals/Hindu
Promoter and Undivided Family
Promoter
Group
13 (c) Shareholding of Indian Central Government/
Promoter and State Government(s)
Promoter
Group

14 (d) Shareholding of Indian Financial Institutions/


Promoter and Banks
Promoter
Group
15 (e) Shareholding of Indian Any Other(specify)
Promoter and
Promoter
Group
16 (f) Shareholding of Indian Sub-Total (A)(1)
Promoter and
Promoter
Group

50
Corporate Data Multicast Specification

17 (a) Shareholding of Foreign


Promoter and
Promoter
Group
18 (b) Shareholding of Foreign Individuals (Non-
Promoter and Resident Individuals/
Promoter Foreign Individuals)
Group

19 (c) Shareholding of Foreign Government


Promoter and
Promoter
Group
20 (d) Shareholding of Foreign Institutions
Promoter and
Promoter
Group
21 (e) Shareholding of Foreign Foreign Portfolio Investor
Promoter and
Promoter
Group
22 (f) Shareholding of Foreign Any Other (specify)
Promoter and
Promoter
Group
23 (g) Shareholding of Foreign Sub-Total (A)(2)
Promoter and
Promoter
Group
24 (h) Shareholding of Foreign Total Shareholding of
Promoter and Promoter and Promoter
Promoter Group (A)=
Group (A)(1) +(A)(2)
25 (a) Public Institutions
shareholding

26 (b) Public Institutions Mutual Funds


shareholding

27 (c) Public Institutions Venture Capital funds


shareholding

51
Corporate Data Multicast Specification

28 (d) Public Institutions Alternate Investment


shareholding funds

29 (e) Public Institutions Foreign Venture capital


shareholding investors

30 (f) Public Institutions Foreign Portfolio


shareholding Investors

31 (g) Public Institutions Financial


shareholding Institutions/Banks

32 (h) Public Institutions Insurance Companies


shareholding

33 (i) Public Institutions Provident Funds/Pension


shareholding Funds

34 (j) Public Institutions Any Other (specify)


shareholding

35 (k) Public Institutions Sub-Total (B)(1)


shareholding

36 (a) Public Central Central Government/


shareholding Government/St State Government(s)/
ate president of India
Government(s)
/ president of
india
37 b) Public Central Sub-Total (B)(2)
shareholding Government/St
ate
Government(s)
/ president of
india

52
Corporate Data Multicast Specification

38 a) Public Non-institutions
shareholding

39 b) Public Non-institutions Individuals


shareholding

40 c) Public Non-institutions Individual shareholders


shareholding holding nominal share
capital up to Rs.2 lakhs.

41 (d) Public Non-institutions Individual shareholders


shareholding holding nominal share
capital in excess of Rs.2
lakhs.
42 (e) Public Non-institutions NBFCs registered with
shareholding RBI

43 (f) Public Non-institutions Employee Trusts


shareholding

44 (g) Public Non-institutions Overseas Depositories


shareholding (holding DRs) (balancing
figure)

67 (h) Public Non-institutions Any Other(specify)


shareholding

45 (i) Public Non-institutions Sub-Total (B)(3)


shareholding
46 (j) Public Non-institutions Total Public
shareholding Shareholding (B)=
(B)(1) +(B)(2) +(B)(3)

61 (a) Non-Promoter- Custodian/DR Name of DR Holder (if


Non-Public Holder available)
Shareholder

63 (b) Non-Promoter- Employee Employee Benefit Trust


Non-Public Benefit Trust (under SEBI (share-
Shareholder (under SEBI based Employee Benefit)
(share-based regulations,2014
Employee
Benefit)

53
Corporate Data Multicast Specification

regulations,201
4)

64 (c) Non Total Non- Total Non-Promoter- Non


Promoter- Non- Promoter- Non Public Shareholding
Public Public (C)= (C)(1) +(C)(2)
Shareholder Shareholding
(C)=
(C)(1) +(C)(2)

54
Corporate Data Multicast Specification

9 About SFTP (Secure File Transfer Protocol)

The file transfer takes place over SFTP (Secure FTP) protocol over the Internet.

The Info Vendor requires to provide the Exchange with the SSH RSA Public Key
of their machine for receiving login details form the Exchange.

The following details will be provided once the request is processed by the
Exchange:
• Server IP
• SSH Service Port
• User ID
• File Path

General information on SFTP has been provided in the following sections for
popular OS platforms.

9.1 SFTP on Linux platform

The OpenSSH suite, which comes pre-installed in most Linux distributions, can
be used for transferring files securely using SFTP.

The SSH key-pair is generally generated in the “.ssh” directory in the user’s
home directory.

It is highly recommended that you consult your systems administrator to


generate/locate the key-pair and set up SFTP for you.

Continue reading for information on how to generate the key-pair.

9.1.1 Generation of the SSH RSA key-pair on Linux

• Generate the new key-pair with following command:


ssh-keygen -t rsa -C “user@host”

• You will receive the following prompt:


Generating public/private rsa key pair.
“Enter file in which to save the key”.
Press the Enter to continue with the defaults.

• You will receive the following prompt:


Enter file in which to save the key e key
(/host/users/user/.ssh/id_rsa):

55
Corporate Data Multicast Specification

Press the Enter to continue with the defaults.

• If a file already exists with the same name, then you will receive
the following prompt:
/host/users/user/.ssh/id_rsa already exists.
Overwrite (y/n)?
Type “y” and press Enter to overwrite.

• You will be prompted to enter a passphrase as follows:


Enter passphrase (empty for no passphrase):
Press Enter to continue without a passphrase.

You will be prompted to re-enter the passphrase:


Enter same passphrase again:
Press Enter again to continue without a passphrase.

• After you enter a passphrase, you will be presented with the


“Fingerprint” (or ID) of your SSH key.

It will look something like this:


Your identification has been saved in /host/users/user/.ssh/id_rsa.
Your public key has been saved in /host/users/user/.ssh/id_rsa.pub.
The key fingerprint is:
87:c4:85:90:91:16:39:de:c2:26:49:4a:b3:38:80:97 user@host

After generating public key, user needs to share the Public Key file
with exchange for requesting the credentials.

NOTE: In above steps the words “host” and “user” are used to represent the
hostname and username of the machine. This is used for demo
purpose only. The same will differ as per your server and usernames.

9.1.2 SFTP Login

Login to the Exchange Server over SFTP using the following command:
sftp -o PORT=6010 remote_user@remote_host

Where remote user is the User ID provided to you by the Exchange


upon sharing your Public Key and remote host is the Exchange
Server IP.

You should get the SFTP prompt as below, upon successful login:

56
Corporate Data Multicast Specification

9.1.3 Fetching files over SFTP

The SFTP “get” command may be used at the SFTP prompt for fetching the
files while logged into the host over SFTP.

9.1.4 Ending the SFTP session

The SFTP “bye” command may be used for terminating the session.

9.1.5 SFTP commands help

Help may be obtained with SFTP commands by typing the “help” command
at the SFTP prompt.

9.2 SFTP on Windows platform

9.2.1 Generation of the SSH RSA key-pair on Windows

This guide explains how to generate the SSH RSA key-pair using the PuttyGen
application.

Download the PuttyGen application (freely available on the Internet). Then


follow these steps to generate the key-pair:

• Start the PuttyGen application.


You will be presented with a dialog which looks something like this:

57
Corporate Data Multicast Specification

• Select “SSH2RSA” with 2048 bit size or greater.

• Press the “Generate” button.

• After generating the key, you will be shown the screen below.
Keep the “Key passphrase” and “Confirm passphrase” as blank.

58
Corporate Data Multicast Specification

SSH RSA Public


Key should be
copied from here
after generation

• Create a blank file with the name “id_rsa.pub”.


This will be the public key file which will be populated with your
Public Key and shared with the Exchange.

• Copy the public key content as presented on the screen (selected


area in the below screenshot) and paste into newly created public
key file (id_rsa.pub) and save the file.

• Share this Public Key File (id_rsa.pub) with the Exchange when
requesting for SFTP credentials.

9.2.2 SFTP Client Software on Windows

There are multiple SFTP Client Programs (paid for and free) available
for transferring files over SFTP.

One such software is WinSCP, available for free from the WinSCP
website. This program is intuitive, user friendly and can be used in
interactive mode (GUI) as well as from the command line (for
automation/batch processing).

Information on using WinSCP can be found on the WinSCP website.

59
Corporate Data Multicast Specification

9.3 Further support

Apart from the above guide, many of the online resources can be referred
on the World Wide Web for more information on how to set up and use
SFTP at the Client’s site on various OS platforms.

Note:
This “About SFTP” section is intended as a guide used to understand and
become familiarized with this transfer protocol. It may be noted that the
Exchange does not provide SFTP software or support for configuring and
using SFTP at Client site.

60
Corporate Data Multicast Specification

10 Notes

10.1 Field layout

• All the character (i.e. Byte) array fields are terminated with ‘\0’.

• All the structures fields are packed at a boundary of 1 byte. This can
be done as shown below.

#pragma pack(1)
typedef struct
{ short iCode

}ST_INFO_HEADER;
#pragma pack()

10.2 Byte Endianness

• If the client-side application is running on Big-endian type of a


machine,then that client needs to send all the fields by reversing its
byte order. For reversing the byte order following sample program can
be used

Sample code for reversing the byte order of any multi-byte data type
field.
void Twiddle(char *buffer, int buffer_size)
{
char *twiddle_buffer;
int i;
/*allocate the buffer for twiddling bytes */
twiddle_buffer = (char* ) malloc(buffer_size);
/* copy the buffer into a temporary buffer for
twiddling.*/ memcpy(twiddle_buffer, buffer,
buffer_size);
/* reverse the bytes */
for( i=0; i < buffer_size; i++)
{
buffer[i] = twiddle_buffer[buffer_size -i -
1];
}
/* free the buffer after twiddling */
free(twiddle_buffer);
}
e.g. The code field in Info header structure is 1000.
Then its byte can be reversed by calling the above function as shown
below

short iCode = 1000;


Twiddle((char*)&iCode , sizeof(short));

61
Corporate Data Multicast Specification

11 Support Information

Name Email Contact Number

Business & Technical Support [email protected] +91-22-26598385

62

You might also like